X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fbe%2Fia32%2Fia32_architecture.c;h=1483f944d5698b4f1044074444ddbf087e6ce5d0;hb=c1fdf770d4d000dd5cf22daead32369342c5f5d1;hp=851a807bed5ec002747d06fa5a2f3fc10b7bad0e;hpb=eb0a39c08748e5f74ab488b412187e15adbfc4d1;p=libfirm diff --git a/ir/be/ia32/ia32_architecture.c b/ir/be/ia32/ia32_architecture.c index 851a807be..1483f944d 100644 --- a/ir/be/ia32/ia32_architecture.c +++ b/ir/be/ia32/ia32_architecture.c @@ -23,9 +23,7 @@ * @author Michael Beck, Matthias Braun * @version $Id: bearch_ia32_t.h 16363 2007-10-25 23:27:07Z beck $ */ -#ifdef HAVE_CONFIG_H #include "config.h" -#endif #include "lc_opts.h" #include "lc_opts_enum.h" @@ -125,7 +123,7 @@ enum cpu_support { static int opt_size = 0; static cpu_support arch = cpu_generic; -static cpu_support opt_arch = cpu_core2; +static cpu_support opt_arch = cpu_generic; static int use_sse2 = 0; static int opt_cc = 1; static int opt_unsafe_floatconv = 0; @@ -330,9 +328,15 @@ static const insn_const k8_cost = { 1, /* cost of a constant shift instruction */ 3, /* starting cost of a multiply instruction */ 0, /* cost of multiply for every set bit */ +#if 0 /* TEST */ 4, /* logarithm for alignment of function labels */ 4, /* logarithm for alignment of loops labels */ 7, /* maximum skip for alignment of loops labels */ +#else + 0, + 0, + 0 +#endif }; /* costs for the K10 */ @@ -497,8 +501,13 @@ void ia32_setup_cg_config(void) ia32_cg_config.use_sse2 = use_sse2 && FLAGS(arch, arch_feature_sse2); ia32_cg_config.use_ffreep = FLAGS(opt_arch, arch_athlon_plus); ia32_cg_config.use_ftst = !FLAGS(arch, arch_feature_p6_insn); + /* valgrind can't cope with femms yet and the usefullness of the optimisation is questionable anyway */ +#if 0 ia32_cg_config.use_femms = FLAGS(opt_arch, arch_athlon_plus) && FLAGS(arch, arch_feature_mmx | arch_all_amd); +#else + ia32_cg_config.use_femms = 0; +#endif ia32_cg_config.use_fucomi = FLAGS(arch, arch_feature_p6_insn); ia32_cg_config.use_cmov = FLAGS(arch, arch_feature_p6_insn); ia32_cg_config.use_modeD_moves = FLAGS(opt_arch, arch_athlon_plus | arch_geode | arch_ppro |