diff options
author | Eli Friedman <eli.friedman@gmail.com> | 2011-07-02 00:34:19 +0000 |
---|---|---|
committer | Eli Friedman <eli.friedman@gmail.com> | 2011-07-02 00:34:19 +0000 |
commit | ad811f01d5e75e7f791d21e9ca338b388d1a5a32 (patch) | |
tree | d7942ad0684587f1116d0099314b68b24fbf33f8 /clang/test/Driver/x86_features.c | |
parent | dba0288cbf654a7ddc1a890c19b59d6c8acdaf72 (diff) | |
download | bcm5719-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.c | 4 |
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. |