summaryrefslogtreecommitdiffstats
path: root/clang/lib/Basic
diff options
context:
space:
mode:
authorChandler Carruth <chandlerc@gmail.com>2011-09-28 10:36:46 +0000
committerChandler Carruth <chandlerc@gmail.com>2011-09-28 10:36:46 +0000
commitcd99bad4acc3f630f4efe12035f86dbc8a08bb57 (patch)
tree77aefb5552c2fa03c21a9364a4ba419d39237be8 /clang/lib/Basic
parente83c3d9d33e3b345255c34c80a5339729707b06d (diff)
downloadbcm5719-llvm-cd99bad4acc3f630f4efe12035f86dbc8a08bb57.tar.gz
bcm5719-llvm-cd99bad4acc3f630f4efe12035f86dbc8a08bb57.zip
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.). llvm-svn: 140692
Diffstat (limited to 'clang/lib/Basic')
-rw-r--r--clang/lib/Basic/Targets.cpp10
1 files changed, 6 insertions, 4 deletions
diff --git a/clang/lib/Basic/Targets.cpp b/clang/lib/Basic/Targets.cpp
index 244205400c6..3ae21d4c327 100644
--- a/clang/lib/Basic/Targets.cpp
+++ b/clang/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:
OpenPOWER on IntegriCloud