aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUros Bizjak <uros@gcc.gnu.org>2013-05-17 22:09:01 +0200
committerUros Bizjak <uros@gcc.gnu.org>2013-05-17 22:09:01 +0200
commit11c2aa398495eb3c49dc63de325237bb0945b472 (patch)
tree3e63a84ecd1a22b5f2e456785303d3a1181e156d
parentabecc8c6899a68083e567138e48a87bd027cd858 (diff)
downloadgcc-11c2aa398495eb3c49dc63de325237bb0945b472.zip
gcc-11c2aa398495eb3c49dc63de325237bb0945b472.tar.gz
gcc-11c2aa398495eb3c49dc63de325237bb0945b472.tar.bz2
driver-i386.c (host_detect_local_cpu): Pass mmx, 3dnow, sse, sse2, sse3, ssse3 and sse4a flags to options.
* config/i386/driver-i386.c (host_detect_local_cpu): Pass mmx, 3dnow, sse, sse2, sse3, ssse3 and sse4a flags to options. From-SVN: r199034
-rw-r--r--gcc/ChangeLog10
-rw-r--r--gcc/config/i386/driver-i386.c12
2 files changed, 17 insertions, 5 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 12786cd..14ce924 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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
@@ -107,9 +112,8 @@
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>
diff --git a/gcc/config/i386/driver-i386.c b/gcc/config/i386/driver-i386.c
index 49db3be..e28f098 100644
--- a/gcc/config/i386/driver-i386.c
+++ b/gcc/config/i386/driver-i386.c
@@ -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,