diff options
Diffstat (limited to 'clang')
| -rw-r--r-- | clang/include/clang/Driver/Options.td | 4 | ||||
| -rw-r--r-- | clang/lib/Basic/Targets.cpp | 5 | ||||
| -rw-r--r-- | clang/test/Driver/x86_features.c | 2 | ||||
| -rw-r--r-- | clang/test/Preprocessor/x86_target_features.c | 4 |
4 files changed, 7 insertions, 8 deletions
diff --git a/clang/include/clang/Driver/Options.td b/clang/include/clang/Driver/Options.td index ef9df81155a..bab4be9a433 100644 --- a/clang/include/clang/Driver/Options.td +++ b/clang/include/clang/Driver/Options.td @@ -1185,9 +1185,9 @@ def mno_stackrealign : Flag<["-"], "mno-stackrealign">, Group<m_Group>; def mno_sse2 : Flag<["-"], "mno-sse2">, Group<m_x86_Features_Group>; def mno_sse3 : Flag<["-"], "mno-sse3">, Group<m_x86_Features_Group>; def mno_sse4a : Flag<["-"], "mno-sse4a">, Group<m_x86_Features_Group>; -def mno_sse4 : Flag<["-"], "mno-sse4">, Group<m_x86_Features_Group>; def mno_sse4_1 : Flag<["-"], "mno-sse4.1">, Group<m_x86_Features_Group>; def mno_sse4_2 : Flag<["-"], "mno-sse4.2">, Group<m_x86_Features_Group>; +def mno_sse4 : Flag<["-"], "mno-sse4">, Alias<mno_sse4_1>; def mno_sse : Flag<["-"], "mno-sse">, Group<m_x86_Features_Group>; def mno_ssse3 : Flag<["-"], "mno-ssse3">, Group<m_x86_Features_Group>; def mno_aes : Flag<["-"], "mno-aes">, Group<m_x86_Features_Group>; @@ -1310,9 +1310,9 @@ def mimplicit_float : Flag<["-"], "mimplicit-float">, Group<m_Group>; def msse2 : Flag<["-"], "msse2">, Group<m_x86_Features_Group>; def msse3 : Flag<["-"], "msse3">, Group<m_x86_Features_Group>; def msse4a : Flag<["-"], "msse4a">, Group<m_x86_Features_Group>; -def msse4 : Flag<["-"], "msse4">, Group<m_x86_Features_Group>; def msse4_1 : Flag<["-"], "msse4.1">, Group<m_x86_Features_Group>; def msse4_2 : Flag<["-"], "msse4.2">, Group<m_x86_Features_Group>; +def msse4 : Flag<["-"], "msse4">, Alias<msse4_2>; def msse : Flag<["-"], "msse">, Group<m_x86_Features_Group>; def mssse3 : Flag<["-"], "mssse3">, Group<m_x86_Features_Group>; def maes : Flag<["-"], "maes">, Group<m_x86_Features_Group>; diff --git a/clang/lib/Basic/Targets.cpp b/clang/lib/Basic/Targets.cpp index b1a245e1b20..c8fa0cce25f 100644 --- a/clang/lib/Basic/Targets.cpp +++ b/clang/lib/Basic/Targets.cpp @@ -2580,11 +2580,6 @@ void X86TargetInfo::setXOPLevel(llvm::StringMap<bool> &Features, XOPEnum Level, void X86TargetInfo::setFeatureEnabledImpl(llvm::StringMap<bool> &Features, StringRef Name, bool Enabled) { - // FIXME: This *really* should not be here. We need some way of translating - // options into llvm subtarget features. - if (Name == "sse4") - Name = "sse4.2"; - Features[Name] = Enabled; if (Name == "mmx") { diff --git a/clang/test/Driver/x86_features.c b/clang/test/Driver/x86_features.c index 26f0bd8bcf0..e5ca704fdcd 100644 --- a/clang/test/Driver/x86_features.c +++ b/clang/test/Driver/x86_features.c @@ -1,5 +1,5 @@ // RUN: %clang -target i386-unknown-unknown -### -S %s -msse -msse4 -mno-sse -mno-mmx -msse 2>&1 | FileCheck %s -// CHECK: "pentium4" "-target-feature" "+sse4" "-target-feature" "-mmx" "-target-feature" "+sse" +// CHECK: "pentium4" "-target-feature" "+sse4.2" "-target-feature" "-mmx" "-target-feature" "+sse" // Note that we filter out all but the last -m(no)sse. // Test that we don't produce an error with -mieee-fp. diff --git a/clang/test/Preprocessor/x86_target_features.c b/clang/test/Preprocessor/x86_target_features.c index 806eeec961d..ac9e7309f45 100644 --- a/clang/test/Preprocessor/x86_target_features.c +++ b/clang/test/Preprocessor/x86_target_features.c @@ -9,6 +9,10 @@ // SSE4: #define __SSE__ 1 // SSE4: #define __SSSE3__ 1 +// RUN: %clang -target i386-unknown-unknown -march=core2 -msse4.1 -mno-sse4 -x c -E -dM -o - %s | FileCheck --check-prefix=NOSSE4 %s + +// NOSSE4-NOT: #define __SSE4_1__ 1 + // RUN: %clang -target i386-unknown-unknown -march=core2 -msse4 -mno-sse2 -x c -E -dM -o - %s | FileCheck --check-prefix=SSE %s // SSE-NOT: #define __SSE2_MATH__ 1 |

