summaryrefslogtreecommitdiffstats
path: root/clang/test/Driver/x86_features.c
diff options
context:
space:
mode:
authorEli Friedman <eli.friedman@gmail.com>2011-07-02 00:34:19 +0000
committerEli Friedman <eli.friedman@gmail.com>2011-07-02 00:34:19 +0000
commitad811f01d5e75e7f791d21e9ca338b388d1a5a32 (patch)
treed7942ad0684587f1116d0099314b68b24fbf33f8 /clang/test/Driver/x86_features.c
parentdba0288cbf654a7ddc1a890c19b59d6c8acdaf72 (diff)
downloadbcm5719-llvm-ad811f01d5e75e7f791d21e9ca338b388d1a5a32.tar.gz
bcm5719-llvm-ad811f01d5e75e7f791d21e9ca338b388d1a5a32.zip
Make clang behave in a gcc-compatible way in the presence of multiple flags for the same x86 target feature (e.g. -mno-sse -msse). gcc uses a somewhat unintuitive algorithm here in that the enabled SSE instructions is based on the order of the *last* flag for *each* feature-level, so that "-mno-sse -msse2" only enables SSE2, but "-mno-sse -msse2 -msse" enables all SSE levels.
Issue reported on cfe-dev. llvm-svn: 134296
Diffstat (limited to 'clang/test/Driver/x86_features.c')
-rw-r--r--clang/test/Driver/x86_features.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/clang/test/Driver/x86_features.c b/clang/test/Driver/x86_features.c
index 9dbdd0ae90b..0db372ec64f 100644
--- a/clang/test/Driver/x86_features.c
+++ b/clang/test/Driver/x86_features.c
@@ -1,3 +1,3 @@
// RUN: %clang -ccc-host-triple i386-unknown-unknown -### -S %s -msse -msse4 -mno-sse -mno-mmx -msse 2> %t
-// RUN: grep '"-target-feature" "+sse" "-target-feature" "+sse4" "-target-feature" "-sse" "-target-feature" "-mmx" "-target-feature" "+sse"' %t
-
+// RUN: grep '"pentium4" "-target-feature" "+sse4" "-target-feature" "-mmx" "-target-feature" "+sse"' %t
+// Note that we filter out all but the last -m(no)sse.
OpenPOWER on IntegriCloud