From: Rafael Espindola Date: Wed, 21 Aug 2013 13:28:02 +0000 (+0000) Subject: Don't disable SSE4A when disabling AVX. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=29f26de50897f88eeee343c70b10fb33122f4c74;p=clang Don't disable SSE4A when disabling AVX. Thanks for Craig Topper for noticing it. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@188902 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Basic/Targets.cpp b/lib/Basic/Targets.cpp index d5392fb238..e2898cc86b 100644 --- a/lib/Basic/Targets.cpp +++ b/lib/Basic/Targets.cpp @@ -2120,7 +2120,7 @@ void X86TargetInfo::setSSELevel(llvm::StringMap &Features, Features["popcnt"] = Features["sse42"] = false; case AVX: Features["fma"] = Features["avx"] = false; - setXOPLevel(Features, SSE4A, false); + setXOPLevel(Features, FMA4, false); case AVX2: Features["avx2"] = false; case AVX512F: diff --git a/test/Preprocessor/x86_target_features.c b/test/Preprocessor/x86_target_features.c index 4cdd3425cc..7d6a6d8a7c 100644 --- a/test/Preprocessor/x86_target_features.c +++ b/test/Preprocessor/x86_target_features.c @@ -42,3 +42,16 @@ // AVX: #define __SSE_MATH__ 1 // AVX: #define __SSE__ 1 // AVX: #define __SSSE3__ 1 + + +// RUN: %clang -target i386-unknown-unknown -march=pentium-m -mxop -mno-avx -x c -E -dM -o - %s | FileCheck --check-prefix=SSE4A %s + +// SSE4A: #define __SSE2_MATH__ 1 +// SSE4A: #define __SSE2__ 1 +// SSE4A: #define __SSE3__ 1 +// SSE4A: #define __SSE4A__ 1 +// SSE4A: #define __SSE4_1__ 1 +// SSE4A: #define __SSE4_2__ 1 +// SSE4A: #define __SSE_MATH__ 1 +// SSE4A: #define __SSE__ 1 +// SSE4A: #define __SSSE3__ 1