X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fbe%2Fia32%2Fia32_architecture.c;h=2d3b231023d210786b4641400878be8bdc2b7c10;hb=364f62c0e724071304b78314aab11f658cd0ef33;hp=a8f927ab9c34a2c4d328b63db0861f6930a6b16b;hpb=c080deff990818b37e237ad982c9e1bb1b855bd8;p=libfirm diff --git a/ir/be/ia32/ia32_architecture.c b/ir/be/ia32/ia32_architecture.c index a8f927ab9..2d3b23102 100644 --- a/ir/be/ia32/ia32_architecture.c +++ b/ir/be/ia32/ia32_architecture.c @@ -118,7 +118,7 @@ enum cpu_support { cpu_winchip_c6 = arch_i486 | arch_feature_mmx, cpu_winchip2 = arch_i486 | arch_feature_mmx | arch_feature_3DNow, cpu_c3 = arch_i486 | arch_feature_mmx | arch_feature_3DNow, - cpu_c3_2 = arch_ppro | arch_sse1_insn, /* really no 3DNow! */ + cpu_c3_2 = arch_ppro | arch_feature_p6_insn | arch_sse1_insn, /* really no 3DNow! */ }; static int opt_size = 0; @@ -466,11 +466,11 @@ void ia32_setup_cg_config(void) set_arch_costs(); c->optimize_size = opt_size != 0; - /* on newer intel cpus mov, pop is often faster then leave although it has a + /* on newer intel cpus mov, pop is often faster than leave although it has a * longer opcode */ c->use_leave = FLAGS(opt_arch, arch_i386 | arch_all_amd | arch_core2) || opt_size; /* P4s don't like inc/decs because they only partially write the flags - register which produces false dependencies */ + * register which produces false dependencies */ c->use_incdec = !FLAGS(opt_arch, arch_netburst | arch_nocona | arch_core2 | arch_geode) || opt_size; c->use_sse2 = use_sse2 && FLAGS(arch, arch_feature_sse2); c->use_ffreep = FLAGS(opt_arch, arch_athlon_plus); @@ -493,6 +493,7 @@ void ia32_setup_cg_config(void) c->use_imul_mem_imm32 = !FLAGS(opt_arch, arch_k8 | arch_k10) || opt_size; c->use_pxor = FLAGS(opt_arch, arch_netburst); c->use_mov_0 = FLAGS(opt_arch, arch_k6) && !opt_size; + c->use_short_sex_eax = !FLAGS(opt_arch, arch_k6) && !opt_size; c->use_pad_return = FLAGS(opt_arch, arch_athlon_plus | arch_core2 | arch_generic32) && !opt_size; c->use_bt = FLAGS(opt_arch, arch_core2 | arch_athlon_plus) || opt_size; c->use_fisttp = FLAGS(opt_arch & arch, arch_feature_sse3);