Remove ia32_code_gen_config_t::use_ftst.
[libfirm] / ir / be / ia32 / ia32_emitter.c
index c7f6b38..b265442 100644 (file)
@@ -60,6 +60,7 @@
 #include "raw_bitset.h"
 #include "dbginfo.h"
 #include "lc_opts.h"
+#include "ircons.h"
 
 #include "besched.h"
 #include "benode.h"
@@ -1201,7 +1202,7 @@ static const char* emit_asm_operand(const ir_node *node, const char *s)
                        panic("Invalid asm op modifier");
                }
        } else {
-               emit_register(reg, asm_reg->mode);
+               emit_register(reg, asm_reg->memory ? mode_Iu : asm_reg->mode);
        }
 
        if (asm_reg->memory) {
@@ -1559,7 +1560,7 @@ static void ia32_register_emitters(void)
 #define BE_IGN(a)       op_be_##a->ops.generic = (op_func)emit_Nothing
 
        /* first clear the generic function pointer for all ops */
-       clear_irp_opcodes_generic_func();
+       ir_clear_opcodes_generic_func();
 
        /* register all emitter functions defined in spec */
        ia32_register_spec_emitters();
@@ -3667,7 +3668,7 @@ static void register_emitter(ir_op *op, emit_func func)
 static void ia32_register_binary_emitters(void)
 {
        /* first clear the generic function pointer for all ops */
-       clear_irp_opcodes_generic_func();
+       ir_clear_opcodes_generic_func();
 
        /* benode emitter */
        register_emitter(op_be_Copy,            bemit_copy);