- BugFix: flags for pad_return
authorMichael Beck <beck@ipd.info.uni-karlsruhe.de>
Sun, 11 May 2008 13:05:40 +0000 (13:05 +0000)
committerMichael Beck <beck@ipd.info.uni-karlsruhe.de>
Sun, 11 May 2008 13:05:40 +0000 (13:05 +0000)
- use_bt added

[r19579]

ir/be/ia32/ia32_architecture.c
ir/be/ia32/ia32_architecture.h

index 2903a44..b70c2c5 100644 (file)
@@ -509,7 +509,8 @@ void ia32_setup_cg_config(void)
        ia32_cg_config.use_imul_mem_imm32   = !FLAGS(opt_arch, arch_k8 | arch_k10) || opt_size;
        ia32_cg_config.use_pxor             = FLAGS(opt_arch, arch_netburst);
        ia32_cg_config.use_mov_0            = FLAGS(opt_arch, arch_k6) && !opt_size;
-       ia32_cg_config.use_pad_return       = FLAGS(opt_arch, arch_athlon_plus | cpu_core2 | arch_generic32) && !opt_size;
+       ia32_cg_config.use_pad_return       = FLAGS(opt_arch, arch_athlon_plus | arch_core2 | arch_generic32) && !opt_size;
+       ia32_cg_config.use_bt               = FLAGS(opt_arch, arch_core2) || opt_size;
        ia32_cg_config.optimize_cc          = opt_cc;
        ia32_cg_config.use_unsafe_floatconv = opt_unsafe_floatconv;
 
index 45e3d6b..4712afc 100644 (file)
@@ -63,9 +63,11 @@ typedef struct {
        unsigned use_pxor:1;
        /** use mov reg, 0 instruction */
        unsigned use_mov_0:1;
-       /** pad Ret that are destination of conditional jump or directly preceded
+       /** pad Ret instructions that are destination of conditional jump or directly preceded
            by other jump instruction. */
-       unsigned use_pad_return;
+       unsigned use_pad_return:1;
+       /** use the bt instruction */
+       unsigned use_bt:1;
        /** optimize calling convention where possible */
        unsigned optimize_cc:1;
        /**