diff options
author | Chandler Carruth <chandlerc@gmail.com> | 2011-09-28 10:36:46 +0000 |
---|---|---|
committer | Chandler Carruth <chandlerc@gmail.com> | 2011-09-28 10:36:46 +0000 |
commit | 49defe63013f6a97aed2f35e50c6b6c69bc0dcf8 (patch) | |
tree | 3ae6102c96a9f6444dd6da50072b60946ec4df19 /lib/Basic/Targets.cpp | |
parent | f1aabcf9263a14f1cd4fc321af35ce6b9d2c8d27 (diff) |
Generate tests for all of the x86 SIMD instruction feature set
predefines based on the output of GCC as well as the CPU predefines.
Invert tests for __AVX__, Clang's AVX feature is hard coded off still.
Switch Atom from 'SSE3' to 'SSSE3'. This matches GCC's behavior, Intel's
documentation, and ICC's documentation (such as I could dig up).
Switch Athlon and Geode to enable 3dnowa rather than just 3dnow and
nothing (resp.).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140692 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Basic/Targets.cpp')
-rw-r--r-- | lib/Basic/Targets.cpp | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/lib/Basic/Targets.cpp b/lib/Basic/Targets.cpp index 244205400c..3ae21d4c32 100644 --- a/lib/Basic/Targets.cpp +++ b/lib/Basic/Targets.cpp @@ -1471,7 +1471,6 @@ void X86TargetInfo::getDefaultFeatures(llvm::StringMap<bool> &Features) const { case CK_Pentium: case CK_i686: case CK_PentiumPro: - case CK_Geode: break; case CK_PentiumMMX: case CK_Pentium2: @@ -1506,7 +1505,7 @@ void X86TargetInfo::getDefaultFeatures(llvm::StringMap<bool> &Features) const { break; case CK_Atom: setFeatureEnabled(Features, "mmx", true); - setFeatureEnabled(Features, "sse3", true); + setFeatureEnabled(Features, "ssse3", true); break; case CK_Corei7: setFeatureEnabled(Features, "mmx", true); @@ -1526,12 +1525,15 @@ void X86TargetInfo::getDefaultFeatures(llvm::StringMap<bool> &Features) const { break; case CK_K6_2: case CK_K6_3: - case CK_Athlon: - case CK_AthlonThunderbird: case CK_WinChip2: case CK_C3: setFeatureEnabled(Features, "3dnow", true); break; + case CK_Athlon: + case CK_AthlonThunderbird: + case CK_Geode: + setFeatureEnabled(Features, "3dnowa", true); + break; case CK_Athlon4: case CK_AthlonXP: case CK_AthlonMP: |