driver-i386.c (host_detect_local_cpu): Pass mmx, 3dnow, sse, sse2, sse3, ssse3 and...
authorUros Bizjak <uros@gcc.gnu.org>
Fri, 17 May 2013 20:09:01 +0000 (22:09 +0200)
committerUros Bizjak <uros@gcc.gnu.org>
Fri, 17 May 2013 20:09:01 +0000 (22:09 +0200)
* config/i386/driver-i386.c (host_detect_local_cpu): Pass mmx, 3dnow,
sse, sse2, sse3, ssse3 and sse4a flags to options.

From-SVN: r199034

gcc/ChangeLog
gcc/config/i386/driver-i386.c

index 12786cd..14ce924 100644 (file)
@@ -1,3 +1,8 @@
+2013-05-17  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/driver-i386.c (host_detect_local_cpu): Pass mmx, 3dnow,
+       sse, sse2, sse3, ssse3 and sse4a flags to options.
+
 2013-05-17  David Malcolm  <dmalcolm@redhat.com>
 
        * gengtype-state.c: (s_expr_writer): New class, to handle
 
 2013-05-17  Marek Polacek  <polacek@redhat.com>
 
-       * tree-ssa-strlen.c (handle_char_store): Don't invalidate
-       cached length when doing non-zero store of storing '\0' to
-       '\0'.
+       * tree-ssa-strlen.c (handle_char_store): Don't invalidate cached
+       length when doing non-zero store of storing '\0' to '\0'.
 
 2013-05-17  Jakub Jelinek  <jakub@redhat.com>
 
index 49db3be..e28f098 100644 (file)
@@ -786,10 +786,17 @@ const char *host_detect_local_cpu (int argc, const char **argv)
 
   if (arch)
     {
+      const char *mmx = has_mmx ? " -mmmx" : " -mno-mmx";
+      const char *mmx3dnow = has_3dnow ? " -m3dnow" : " -mno-3dnow";
+      const char *sse = has_sse ? " -msse" : " -mno-sse";
+      const char *sse2 = has_sse2 ? " -msse2" : " -mno-sse2";
+      const char *sse3 = has_sse3 ? " -msse3" : " -mno-sse3";
+      const char *ssse3 = has_ssse3 ? " -mssse3" : " -mno-ssse3";
+      const char *sse4a = has_sse4a ? " -msse4a" : " -mno-sse4a";
       const char *cx16 = has_cmpxchg16b ? " -mcx16" : " -mno-cx16";
       const char *sahf = has_lahf_lm ? " -msahf" : " -mno-sahf";
       const char *movbe = has_movbe ? " -mmovbe" : " -mno-movbe";
-      const char *ase = has_aes ? " -maes" : " -mno-aes";
+      const char *aes = has_aes ? " -maes" : " -mno-aes";
       const char *pclmul = has_pclmul ? " -mpclmul" : " -mno-pclmul";
       const char *popcnt = has_popcnt ? " -mpopcnt" : " -mno-popcnt";
       const char *abm = has_abm ? " -mabm" : " -mno-abm";
@@ -817,7 +824,8 @@ const char *host_detect_local_cpu (int argc, const char **argv)
       const char *xsave = has_xsave ? " -mxsave" : " -mno-xsave";
       const char *xsaveopt = has_xsaveopt ? " -mxsaveopt" : " -mno-xsaveopt";
 
-      options = concat (options, cx16, sahf, movbe, ase, pclmul,
+      options = concat (options, mmx, mmx3dnow, sse, sse2, sse3, ssse3,
+                       sse4a, cx16, sahf, movbe, aes, pclmul,
                        popcnt, abm, lwp, fma, fma4, xop, bmi, bmi2,
                        tbm, avx, avx2, sse4_2, sse4_1, lzcnt, rtm,
                        hle, rdrnd, f16c, fsgsbase, rdseed, prfchw, adx,