Complement r22830.
[libfirm] / ir / be / ia32 / ia32_architecture.c
index 851a807..1483f94 100644 (file)
@@ -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 |