- if (mode_is_float(mode)) {
- if (USE_FPA(env->cg->isa)) {
- be_emit_cstring(env->emit, "\tldf ");
- } else {
- assert(0 && "reload not supported for this mode");
- panic("emit_be_Reload: reload not supported for this mode");
- }
- } else if (mode_is_dataM(mode)) {
- be_emit_cstring(env->emit, "\tldr ");
- } else {
- assert(0 && "reload not supported for this mode");
- panic("emit_be_Reload: reload not supported for this mode");
- }
- arm_emit_dest_register(env, irn, 0);
- be_emit_cstring(env->emit, ", [");
- arm_emit_source_register(env, irn, 0);
- be_emit_cstring(env->emit, ", #");
- arm_emit_offset(env, irn);
- be_emit_char(env->emit, ']');
- be_emit_finish_line_gas(env->emit, irn);
-}
-
-static void emit_be_Perm(arm_emit_env_t *env, const ir_node *irn) {
- be_emit_cstring(env->emit, "\teor ");
- arm_emit_source_register(env, irn, 0);
- be_emit_cstring(env->emit, ", ");
- arm_emit_source_register(env, irn, 0);
- be_emit_cstring(env->emit, ", ");
- arm_emit_source_register(env, irn, 1);
- be_emit_finish_line_gas(env->emit, NULL);
-
- be_emit_cstring(env->emit, "\teor ");
- arm_emit_source_register(env, irn, 1);
- be_emit_cstring(env->emit, ", ");
- arm_emit_source_register(env, irn, 0);
- be_emit_cstring(env->emit, ", ");
- arm_emit_source_register(env, irn, 1);
- be_emit_finish_line_gas(env->emit, NULL);
-
- arm_emit_source_register(env, irn, 0);
- be_emit_cstring(env->emit, ", ");
- arm_emit_source_register(env, irn, 0);
- be_emit_cstring(env->emit, ", ");
- arm_emit_source_register(env, irn, 1);
- be_emit_finish_line_gas(env->emit, irn);
-}
-
-static void emit_be_StackParam(arm_emit_env_t *env, const ir_node *irn) {
- ir_mode *mode = get_irn_mode(irn);