|
@@ -2676,6 +2676,100 @@
|
|
|
// CHECK_ZNVER1_M64: #define __znver1 1
|
|
|
// CHECK_ZNVER1_M64: #define __znver1__ 1
|
|
|
|
|
|
+// RUN: %clang -march=znver2 -m32 -E -dM %s -o - 2>&1 \
|
|
|
+// RUN: -target i386-unknown-linux \
|
|
|
+// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_ZNVER2_M32
|
|
|
+// CHECK_ZNVER2_M32-NOT: #define __3dNOW_A__ 1
|
|
|
+// CHECK_ZNVER2_M32-NOT: #define __3dNOW__ 1
|
|
|
+// CHECK_ZNVER2_M32: #define __ADX__ 1
|
|
|
+// CHECK_ZNVER2_M32: #define __AES__ 1
|
|
|
+// CHECK_ZNVER2_M32: #define __AVX2__ 1
|
|
|
+// CHECK_ZNVER2_M32: #define __AVX__ 1
|
|
|
+// CHECK_ZNVER2_M32: #define __BMI2__ 1
|
|
|
+// CHECK_ZNVER2_M32: #define __BMI__ 1
|
|
|
+// CHECK_ZNVER2_M32: #define __CLFLUSHOPT__ 1
|
|
|
+// CHECK_ZNVER2_M32: #define __CLWB__ 1
|
|
|
+// CHECK_ZNVER2_M32: #define __CLZERO__ 1
|
|
|
+// CHECK_ZNVER2_M32: #define __F16C__ 1
|
|
|
+// CHECK_ZNVER2_M32: #define __FMA__ 1
|
|
|
+// CHECK_ZNVER2_M32: #define __FSGSBASE__ 1
|
|
|
+// CHECK_ZNVER2_M32: #define __LZCNT__ 1
|
|
|
+// CHECK_ZNVER2_M32: #define __MMX__ 1
|
|
|
+// CHECK_ZNVER2_M32: #define __PCLMUL__ 1
|
|
|
+// CHECK_ZNVER2_M32: #define __POPCNT__ 1
|
|
|
+// CHECK_ZNVER2_M32: #define __PRFCHW__ 1
|
|
|
+// CHECK_ZNVER2_M32: #define __RDPID__ 1
|
|
|
+// CHECK_ZNVER2_M32: #define __RDRND__ 1
|
|
|
+// CHECK_ZNVER2_M32: #define __RDSEED__ 1
|
|
|
+// CHECK_ZNVER2_M32: #define __SHA__ 1
|
|
|
+// CHECK_ZNVER2_M32: #define __SSE2_MATH__ 1
|
|
|
+// CHECK_ZNVER2_M32: #define __SSE2__ 1
|
|
|
+// CHECK_ZNVER2_M32: #define __SSE3__ 1
|
|
|
+// CHECK_ZNVER2_M32: #define __SSE4A__ 1
|
|
|
+// CHECK_ZNVER2_M32: #define __SSE4_1__ 1
|
|
|
+// CHECK_ZNVER2_M32: #define __SSE4_2__ 1
|
|
|
+// CHECK_ZNVER2_M32: #define __SSE_MATH__ 1
|
|
|
+// CHECK_ZNVER2_M32: #define __SSE__ 1
|
|
|
+// CHECK_ZNVER2_M32: #define __SSSE3__ 1
|
|
|
+// CHECK_ZNVER2_M32: #define __WBNOINVD__ 1
|
|
|
+// CHECK_ZNVER2_M32: #define __XSAVEC__ 1
|
|
|
+// CHECK_ZNVER2_M32: #define __XSAVEOPT__ 1
|
|
|
+// CHECK_ZNVER2_M32: #define __XSAVES__ 1
|
|
|
+// CHECK_ZNVER2_M32: #define __XSAVE__ 1
|
|
|
+// CHECK_ZNVER2_M32: #define __i386 1
|
|
|
+// CHECK_ZNVER2_M32: #define __i386__ 1
|
|
|
+// CHECK_ZNVER2_M32: #define __tune_znver2__ 1
|
|
|
+// CHECK_ZNVER2_M32: #define __znver2 1
|
|
|
+// CHECK_ZNVER2_M32: #define __znver2__ 1
|
|
|
+
|
|
|
+// RUN: %clang -march=znver2 -m64 -E -dM %s -o - 2>&1 \
|
|
|
+// RUN: -target i386-unknown-linux \
|
|
|
+// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_ZNVER2_M64
|
|
|
+// CHECK_ZNVER2_M64-NOT: #define __3dNOW_A__ 1
|
|
|
+// CHECK_ZNVER2_M64-NOT: #define __3dNOW__ 1
|
|
|
+// CHECK_ZNVER2_M64: #define __ADX__ 1
|
|
|
+// CHECK_ZNVER2_M64: #define __AES__ 1
|
|
|
+// CHECK_ZNVER2_M64: #define __AVX2__ 1
|
|
|
+// CHECK_ZNVER2_M64: #define __AVX__ 1
|
|
|
+// CHECK_ZNVER2_M64: #define __BMI2__ 1
|
|
|
+// CHECK_ZNVER2_M64: #define __BMI__ 1
|
|
|
+// CHECK_ZNVER2_M64: #define __CLFLUSHOPT__ 1
|
|
|
+// CHECK_ZNVER2_M64: #define __CLWB__ 1
|
|
|
+// CHECK_ZNVER2_M64: #define __CLZERO__ 1
|
|
|
+// CHECK_ZNVER2_M64: #define __F16C__ 1
|
|
|
+// CHECK_ZNVER2_M64: #define __FMA__ 1
|
|
|
+// CHECK_ZNVER2_M64: #define __FSGSBASE__ 1
|
|
|
+// CHECK_ZNVER2_M64: #define __LZCNT__ 1
|
|
|
+// CHECK_ZNVER2_M64: #define __MMX__ 1
|
|
|
+// CHECK_ZNVER2_M64: #define __PCLMUL__ 1
|
|
|
+// CHECK_ZNVER2_M64: #define __POPCNT__ 1
|
|
|
+// CHECK_ZNVER2_M64: #define __PRFCHW__ 1
|
|
|
+// CHECK_ZNVER2_M64: #define __RDPID__ 1
|
|
|
+// CHECK_ZNVER2_M64: #define __RDRND__ 1
|
|
|
+// CHECK_ZNVER2_M64: #define __RDSEED__ 1
|
|
|
+// CHECK_ZNVER2_M64: #define __SHA__ 1
|
|
|
+// CHECK_ZNVER2_M64: #define __SSE2_MATH__ 1
|
|
|
+// CHECK_ZNVER2_M64: #define __SSE2__ 1
|
|
|
+// CHECK_ZNVER2_M64: #define __SSE3__ 1
|
|
|
+// CHECK_ZNVER2_M64: #define __SSE4A__ 1
|
|
|
+// CHECK_ZNVER2_M64: #define __SSE4_1__ 1
|
|
|
+// CHECK_ZNVER2_M64: #define __SSE4_2__ 1
|
|
|
+// CHECK_ZNVER2_M64: #define __SSE_MATH__ 1
|
|
|
+// CHECK_ZNVER2_M64: #define __SSE__ 1
|
|
|
+// CHECK_ZNVER2_M64: #define __SSSE3__ 1
|
|
|
+// CHECK_ZNVER2_M64: #define __WBNOINVD__ 1
|
|
|
+// CHECK_ZNVER2_M64: #define __XSAVEC__ 1
|
|
|
+// CHECK_ZNVER2_M64: #define __XSAVEOPT__ 1
|
|
|
+// CHECK_ZNVER2_M64: #define __XSAVES__ 1
|
|
|
+// CHECK_ZNVER2_M64: #define __XSAVE__ 1
|
|
|
+// CHECK_ZNVER2_M64: #define __amd64 1
|
|
|
+// CHECK_ZNVER2_M64: #define __amd64__ 1
|
|
|
+// CHECK_ZNVER2_M64: #define __tune_znver2__ 1
|
|
|
+// CHECK_ZNVER2_M64: #define __x86_64 1
|
|
|
+// CHECK_ZNVER2_M64: #define __x86_64__ 1
|
|
|
+// CHECK_ZNVER2_M64: #define __znver2 1
|
|
|
+// CHECK_ZNVER2_M64: #define __znver2__ 1
|
|
|
+
|
|
|
// End X86/GCC/Linux tests ------------------
|
|
|
|
|
|
// Begin PPC/GCC/Linux tests ----------------
|