diff options
Diffstat (limited to 'test/Preprocessor/predefined-arch-macros.c')
-rw-r--r-- | test/Preprocessor/predefined-arch-macros.c | 509 |
1 files changed, 410 insertions, 99 deletions
diff --git a/test/Preprocessor/predefined-arch-macros.c b/test/Preprocessor/predefined-arch-macros.c index dac137c575363..281e6780cbf58 100644 --- a/test/Preprocessor/predefined-arch-macros.c +++ b/test/Preprocessor/predefined-arch-macros.c @@ -1,5 +1,5 @@ // Begin X86/GCC/Linux tests ---------------- -// + // RUN: %clang -march=i386 -m32 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ // RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_I386_M32 @@ -11,7 +11,7 @@ // RUN: -target i386-unknown-linux \ // RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_I386_M64 // CHECK_I386_M64: error: {{.*}} -// + // RUN: %clang -march=i486 -m32 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ // RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_I486_M32 @@ -25,7 +25,7 @@ // RUN: -target i386-unknown-linux \ // RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_I486_M64 // CHECK_I486_M64: error: {{.*}} -// + // RUN: %clang -march=i586 -m32 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ // RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_I586_M32 @@ -42,7 +42,7 @@ // RUN: -target i386-unknown-linux \ // RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_I586_M64 // CHECK_I586_M64: error: {{.*}} -// + // RUN: %clang -march=pentium -m32 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ // RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_PENTIUM_M32 @@ -59,7 +59,7 @@ // RUN: -target i386-unknown-linux \ // RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_PENTIUM_M64 // CHECK_PENTIUM_M64: error: {{.*}} -// + // RUN: %clang -march=pentium-mmx -m32 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ // RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_PENTIUM_MMX_M32 @@ -79,7 +79,7 @@ // RUN: -target i386-unknown-linux \ // RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_PENTIUM_MMX_M64 // CHECK_PENTIUM_MMX_M64: error: {{.*}} -// + // RUN: %clang -march=winchip-c6 -m32 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ // RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_WINCHIP_C6_M32 @@ -94,7 +94,7 @@ // RUN: -target i386-unknown-linux \ // RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_WINCHIP_C6_M64 // CHECK_WINCHIP_C6_M64: error: {{.*}} -// + // RUN: %clang -march=winchip2 -m32 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ // RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_WINCHIP2_M32 @@ -110,7 +110,7 @@ // RUN: -target i386-unknown-linux \ // RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_WINCHIP2_M64 // CHECK_WINCHIP2_M64: error: {{.*}} -// + // RUN: %clang -march=c3 -m32 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ // RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_C3_M32 @@ -126,7 +126,7 @@ // RUN: -target i386-unknown-linux \ // RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_C3_M64 // CHECK_C3_M64: error: {{.*}} -// + // RUN: %clang -march=c3-2 -m32 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ // RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_C3_2_M32 @@ -146,7 +146,7 @@ // RUN: -target i386-unknown-linux \ // RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_C3_2_M64 // CHECK_C3_2_M64: error: {{.*}} -// + // RUN: %clang -march=i686 -m32 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ // RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_I686_M32 @@ -163,7 +163,7 @@ // RUN: -target i386-unknown-linux \ // RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_I686_M64 // CHECK_I686_M64: error: {{.*}} -// + // RUN: %clang -march=pentiumpro -m32 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ // RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_PENTIUMPRO_M32 @@ -180,7 +180,7 @@ // RUN: -target i386-unknown-linux \ // RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_PENTIUMPRO_M64 // CHECK_PENTIUMPRO_M64: error: {{.*}} -// + // RUN: %clang -march=pentium2 -m32 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ // RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_PENTIUM2_M32 @@ -199,7 +199,7 @@ // RUN: -target i386-unknown-linux \ // RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_PENTIUM2_M64 // CHECK_PENTIUM2_M64: error: {{.*}} -// + // RUN: %clang -march=pentium3 -m32 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ // RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_PENTIUM3_M32 @@ -220,7 +220,7 @@ // RUN: -target i386-unknown-linux \ // RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_PENTIUM3_M64 // CHECK_PENTIUM3_M64: error: {{.*}} -// + // RUN: %clang -march=pentium3m -m32 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ // RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_PENTIUM3M_M32 @@ -239,7 +239,7 @@ // RUN: -target i386-unknown-linux \ // RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_PENTIUM3M_M64 // CHECK_PENTIUM3M_M64: error: {{.*}} -// + // RUN: %clang -march=pentium-m -m32 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ // RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_PENTIUM_M_M32 @@ -259,7 +259,7 @@ // RUN: -target i386-unknown-linux \ // RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_PENTIUM_M_M64 // CHECK_PENTIUM_M_M64: error: {{.*}} -// + // RUN: %clang -march=pentium4 -m32 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ // RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_PENTIUM4_M32 @@ -276,7 +276,7 @@ // RUN: -target i386-unknown-linux \ // RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_PENTIUM4_M64 // CHECK_PENTIUM4_M64: error: {{.*}} -// + // RUN: %clang -march=pentium4m -m32 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ // RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_PENTIUM4M_M32 @@ -293,7 +293,7 @@ // RUN: -target i386-unknown-linux \ // RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_PENTIUM4M_M64 // CHECK_PENTIUM4M_M64: error: {{.*}} -// + // RUN: %clang -march=prescott -m32 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ // RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_PRESCOTT_M32 @@ -311,7 +311,7 @@ // RUN: -target i386-unknown-linux \ // RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_PRESCOTT_M64 // CHECK_PRESCOTT_M64: error: {{.*}} -// + // RUN: %clang -march=nocona -m32 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ // RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_NOCONA_M32 @@ -341,7 +341,7 @@ // CHECK_NOCONA_M64: #define __tune_nocona__ 1 // CHECK_NOCONA_M64: #define __x86_64 1 // CHECK_NOCONA_M64: #define __x86_64__ 1 -// + // RUN: %clang -march=core2 -m32 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ // RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_CORE2_M32 @@ -356,6 +356,7 @@ // CHECK_CORE2_M32: #define __i386__ 1 // CHECK_CORE2_M32: #define __tune_core2__ 1 // CHECK_CORE2_M32: #define i386 1 + // RUN: %clang -march=core2 -m64 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ // RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_CORE2_M64 @@ -373,7 +374,7 @@ // CHECK_CORE2_M64: #define __tune_core2__ 1 // CHECK_CORE2_M64: #define __x86_64 1 // CHECK_CORE2_M64: #define __x86_64__ 1 -// + // RUN: %clang -march=corei7 -m32 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ // RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_COREI7_M32 @@ -391,6 +392,7 @@ // CHECK_COREI7_M32: #define __i386__ 1 // CHECK_COREI7_M32: #define __tune_corei7__ 1 // CHECK_COREI7_M32: #define i386 1 + // RUN: %clang -march=corei7 -m64 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ // RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_COREI7_M64 @@ -411,7 +413,7 @@ // CHECK_COREI7_M64: #define __tune_corei7__ 1 // CHECK_COREI7_M64: #define __x86_64 1 // CHECK_COREI7_M64: #define __x86_64__ 1 -// + // RUN: %clang -march=corei7-avx -m32 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ // RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_COREI7_AVX_M32 @@ -435,6 +437,7 @@ // CHECK_COREI7_AVX_M32: #define __i386__ 1 // CHECK_COREI7_AVX_M32: #define __tune_corei7__ 1 // CHECK_COREI7_AVX_M32: #define i386 1 + // RUN: %clang -march=corei7-avx -m64 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ // RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_COREI7_AVX_M64 @@ -461,7 +464,7 @@ // CHECK_COREI7_AVX_M64: #define __tune_corei7__ 1 // CHECK_COREI7_AVX_M64: #define __x86_64 1 // CHECK_COREI7_AVX_M64: #define __x86_64__ 1 -// + // RUN: %clang -march=core-avx-i -m32 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ // RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_CORE_AVX_I_M32 @@ -485,6 +488,7 @@ // CHECK_CORE_AVX_I_M32: #define __i386__ 1 // CHECK_CORE_AVX_I_M32: #define __tune_corei7__ 1 // CHECK_CORE_AVX_I_M32: #define i386 1 + // RUN: %clang -march=core-avx-i -m64 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ // RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_CORE_AVX_I_M64 @@ -511,7 +515,7 @@ // CHECK_CORE_AVX_I_M64: #define __tune_corei7__ 1 // CHECK_CORE_AVX_I_M64: #define __x86_64 1 // CHECK_CORE_AVX_I_M64: #define __x86_64__ 1 -// + // RUN: %clang -march=core-avx2 -m32 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ // RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_CORE_AVX2_M32 @@ -522,6 +526,7 @@ // CHECK_CORE_AVX2_M32: #define __BMI__ 1 // CHECK_CORE_AVX2_M32: #define __F16C__ 1 // CHECK_CORE_AVX2_M32: #define __FMA__ 1 +// CHECK_CORE_AVX2_M32: #define __INVPCID__ 1 // CHECK_CORE_AVX2_M32: #define __LZCNT__ 1 // CHECK_CORE_AVX2_M32: #define __MMX__ 1 // CHECK_CORE_AVX2_M32: #define __PCLMUL__ 1 @@ -541,6 +546,7 @@ // CHECK_CORE_AVX2_M32: #define __i386__ 1 // CHECK_CORE_AVX2_M32: #define __tune_corei7__ 1 // CHECK_CORE_AVX2_M32: #define i386 1 + // RUN: %clang -march=core-avx2 -m64 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ // RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_CORE_AVX2_M64 @@ -551,6 +557,7 @@ // CHECK_CORE_AVX2_M64: #define __BMI__ 1 // CHECK_CORE_AVX2_M64: #define __F16C__ 1 // CHECK_CORE_AVX2_M64: #define __FMA__ 1 +// CHECK_CORE_AVX2_M64: #define __INVPCID__ 1 // CHECK_CORE_AVX2_M64: #define __LZCNT__ 1 // CHECK_CORE_AVX2_M64: #define __MMX__ 1 // CHECK_CORE_AVX2_M64: #define __PCLMUL__ 1 @@ -573,7 +580,7 @@ // CHECK_CORE_AVX2_M64: #define __tune_corei7__ 1 // CHECK_CORE_AVX2_M64: #define __x86_64 1 // CHECK_CORE_AVX2_M64: #define __x86_64__ 1 -// + // RUN: %clang -march=broadwell -m32 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ // RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_BROADWELL_M32 @@ -585,6 +592,7 @@ // CHECK_BROADWELL_M32: #define __BMI__ 1 // CHECK_BROADWELL_M32: #define __F16C__ 1 // CHECK_BROADWELL_M32: #define __FMA__ 1 +// CHECK_BROADWELL_M32: #define __INVPCID__ 1 // CHECK_BROADWELL_M32: #define __LZCNT__ 1 // CHECK_BROADWELL_M32: #define __MMX__ 1 // CHECK_BROADWELL_M32: #define __PCLMUL__ 1 @@ -606,6 +614,7 @@ // CHECK_BROADWELL_M32: #define __i386__ 1 // CHECK_BROADWELL_M32: #define __tune_corei7__ 1 // CHECK_BROADWELL_M32: #define i386 1 + // RUN: %clang -march=broadwell -m64 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ // RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_BROADWELL_M64 @@ -617,6 +626,7 @@ // CHECK_BROADWELL_M64: #define __BMI__ 1 // CHECK_BROADWELL_M64: #define __F16C__ 1 // CHECK_BROADWELL_M64: #define __FMA__ 1 +// CHECK_BROADWELL_M64: #define __INVPCID__ 1 // CHECK_BROADWELL_M64: #define __LZCNT__ 1 // CHECK_BROADWELL_M64: #define __MMX__ 1 // CHECK_BROADWELL_M64: #define __PCLMUL__ 1 @@ -641,7 +651,7 @@ // CHECK_BROADWELL_M64: #define __tune_corei7__ 1 // CHECK_BROADWELL_M64: #define __x86_64 1 // CHECK_BROADWELL_M64: #define __x86_64__ 1 -// + // RUN: %clang -march=skylake -m32 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ // RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_SKL_M32 @@ -654,6 +664,7 @@ // CHECK_SKL_M32: #define __CLFLUSHOPT__ 1 // CHECK_SKL_M32: #define __F16C__ 1 // CHECK_SKL_M32: #define __FMA__ 1 +// CHECK_SKL_M32: #define __INVPCID__ 1 // CHECK_SKL_M32: #define __LZCNT__ 1 // CHECK_SKL_M32: #define __MMX__ 1 // CHECK_SKL_M32: #define __MPX__ 1 @@ -688,6 +699,7 @@ // CHECK_SKL_M64: #define __CLFLUSHOPT__ 1 // CHECK_SKL_M64: #define __F16C__ 1 // CHECK_SKL_M64: #define __FMA__ 1 +// CHECK_SKL_M64: #define __INVPCID__ 1 // CHECK_SKL_M64: #define __LZCNT__ 1 // CHECK_SKL_M64: #define __MMX__ 1 // CHECK_SKL_M64: #define __MPX__ 1 @@ -864,7 +876,7 @@ // CHECK_KNM_M64: #define __amd64__ 1 // CHECK_KNM_M64: #define __x86_64 1 // CHECK_KNM_M64: #define __x86_64__ 1 -// + // RUN: %clang -march=skylake-avx512 -m32 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ // RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_SKX_M32 @@ -882,6 +894,7 @@ // CHECK_SKX_M32: #define __CLWB__ 1 // CHECK_SKX_M32: #define __F16C__ 1 // CHECK_SKX_M32: #define __FMA__ 1 +// CHECK_SKX_M32: #define __INVPCID__ 1 // CHECK_SKX_M32: #define __LZCNT__ 1 // CHECK_SKX_M32: #define __MMX__ 1 // CHECK_SKX_M32: #define __MPX__ 1 @@ -890,8 +903,9 @@ // CHECK_SKX_M32: #define __POPCNT__ 1 // CHECK_SKX_M32: #define __PRFCHW__ 1 // CHECK_SKX_M32: #define __RDRND__ 1 +// CHECK_SKX_M32: #define __RDSEED__ 1 // CHECK_SKX_M32: #define __RTM__ 1 -// CHECK_SKX_M32: #define __SGX__ 1 +// CHECK_SKX_M32-NOT: #define __SGX__ 1 // CHECK_SKX_M32: #define __SSE2__ 1 // CHECK_SKX_M32: #define __SSE3__ 1 // CHECK_SKX_M32: #define __SSE4_1__ 1 @@ -926,6 +940,7 @@ // CHECK_SKX_M64: #define __CLWB__ 1 // CHECK_SKX_M64: #define __F16C__ 1 // CHECK_SKX_M64: #define __FMA__ 1 +// CHECK_SKX_M64: #define __INVPCID__ 1 // CHECK_SKX_M64: #define __LZCNT__ 1 // CHECK_SKX_M64: #define __MMX__ 1 // CHECK_SKX_M64: #define __MPX__ 1 @@ -934,8 +949,9 @@ // CHECK_SKX_M64: #define __POPCNT__ 1 // CHECK_SKX_M64: #define __PRFCHW__ 1 // CHECK_SKX_M64: #define __RDRND__ 1 +// CHECK_SKX_M64: #define __RDSEED__ 1 // CHECK_SKX_M64: #define __RTM__ 1 -// CHECK_SKX_M64: #define __SGX__ 1 +// CHECK_SKX_M64-NOT: #define __SGX__ 1 // CHECK_SKX_M64: #define __SSE2_MATH__ 1 // CHECK_SKX_M64: #define __SSE2__ 1 // CHECK_SKX_M64: #define __SSE3__ 1 @@ -955,7 +971,7 @@ // CHECK_SKX_M64: #define __tune_corei7__ 1 // CHECK_SKX_M64: #define __x86_64 1 // CHECK_SKX_M64: #define __x86_64__ 1 -// + // RUN: %clang -march=cannonlake -m32 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ // RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_CNL_M32 @@ -975,14 +991,16 @@ // CHECK_CNL_M32-NOT: #define __CLWB__ 1 // CHECK_CNL_M32: #define __F16C__ 1 // CHECK_CNL_M32: #define __FMA__ 1 +// CHECK_CNL_M32: #define __INVPCID__ 1 // CHECK_CNL_M32: #define __LZCNT__ 1 // CHECK_CNL_M32: #define __MMX__ 1 // CHECK_CNL_M32: #define __MPX__ 1 // CHECK_CNL_M32: #define __PCLMUL__ 1 -// CHECK_CNL_M32-NOT: #define __PKU__ 1 +// CHECK_CNL_M32: #define __PKU__ 1 // CHECK_CNL_M32: #define __POPCNT__ 1 // CHECK_CNL_M32: #define __PRFCHW__ 1 // CHECK_CNL_M32: #define __RDRND__ 1 +// CHECK_CNL_M32: #define __RDSEED__ 1 // CHECK_CNL_M32: #define __RTM__ 1 // CHECK_CNL_M32: #define __SGX__ 1 // CHECK_CNL_M32: #define __SHA__ 1 @@ -1002,7 +1020,7 @@ // CHECK_CNL_M32: #define __i386__ 1 // CHECK_CNL_M32: #define __tune_corei7__ 1 // CHECK_CNL_M32: #define i386 1 -// + // RUN: %clang -march=cannonlake -m64 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ // RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_CNL_M64 @@ -1022,14 +1040,16 @@ // CHECK_CNL_M64-NOT: #define __CLWB__ 1 // CHECK_CNL_M64: #define __F16C__ 1 // CHECK_CNL_M64: #define __FMA__ 1 +// CHECK_CNL_M64: #define __INVPCID__ 1 // CHECK_CNL_M64: #define __LZCNT__ 1 // CHECK_CNL_M64: #define __MMX__ 1 // CHECK_CNL_M64: #define __MPX__ 1 // CHECK_CNL_M64: #define __PCLMUL__ 1 -// CHECK_CNL_M64-NOT: #define __PKU__ 1 +// CHECK_CNL_M64: #define __PKU__ 1 // CHECK_CNL_M64: #define __POPCNT__ 1 // CHECK_CNL_M64: #define __PRFCHW__ 1 // CHECK_CNL_M64: #define __RDRND__ 1 +// CHECK_CNL_M64: #define __RDSEED__ 1 // CHECK_CNL_M64: #define __RTM__ 1 // CHECK_CNL_M64: #define __SGX__ 1 // CHECK_CNL_M64: #define __SHA__ 1 @@ -1051,7 +1071,7 @@ // CHECK_CNL_M64: #define __x86_64 1 // CHECK_CNL_M64: #define __x86_64__ 1 -// RUN: %clang -march=icelake -m32 -E -dM %s -o - 2>&1 \ +// RUN: %clang -march=icelake-client -m32 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ // RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_ICL_M32 // CHECK_ICL_M32: #define __AES__ 1 @@ -1075,14 +1095,17 @@ // CHECK_ICL_M32: #define __F16C__ 1 // CHECK_ICL_M32: #define __FMA__ 1 // CHECK_ICL_M32: #define __GFNI__ 1 +// CHECK_ICL_M32: #define __INVPCID__ 1 // CHECK_ICL_M32: #define __LZCNT__ 1 // CHECK_ICL_M32: #define __MMX__ 1 // CHECK_ICL_M32: #define __MPX__ 1 // CHECK_ICL_M32: #define __PCLMUL__ 1 -// CHECK_ICL_M32-NOT: #define __PKU__ 1 +// CHECK_ICL_M32: #define __PKU__ 1 // CHECK_ICL_M32: #define __POPCNT__ 1 // CHECK_ICL_M32: #define __PRFCHW__ 1 +// CHECK_ICL_M32: #define __RDPID__ 1 // CHECK_ICL_M32: #define __RDRND__ 1 +// CHECK_ICL_M32: #define __RDSEED__ 1 // CHECK_ICL_M32: #define __RTM__ 1 // CHECK_ICL_M32: #define __SGX__ 1 // CHECK_ICL_M32: #define __SHA__ 1 @@ -1094,6 +1117,7 @@ // CHECK_ICL_M32: #define __SSSE3__ 1 // CHECK_ICL_M32: #define __VAES__ 1 // CHECK_ICL_M32: #define __VPCLMULQDQ__ 1 +// CHECK_ICL_M32-NOT: #define __WBNOINVD__ 1 // CHECK_ICL_M32: #define __XSAVEC__ 1 // CHECK_ICL_M32: #define __XSAVEOPT__ 1 // CHECK_ICL_M32: #define __XSAVES__ 1 @@ -1104,8 +1128,8 @@ // CHECK_ICL_M32: #define __i386__ 1 // CHECK_ICL_M32: #define __tune_corei7__ 1 // CHECK_ICL_M32: #define i386 1 -// -// RUN: %clang -march=icelake -m64 -E -dM %s -o - 2>&1 \ + +// RUN: %clang -march=icelake-client -m64 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ // RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_ICL_M64 // CHECK_ICL_M64: #define __AES__ 1 @@ -1129,14 +1153,17 @@ // CHECK_ICL_M64: #define __F16C__ 1 // CHECK_ICL_M64: #define __FMA__ 1 // CHECK_ICL_M64: #define __GFNI__ 1 +// CHECK_ICL_M64: #define __INVPCID__ 1 // CHECK_ICL_M64: #define __LZCNT__ 1 // CHECK_ICL_M64: #define __MMX__ 1 // CHECK_ICL_M64: #define __MPX__ 1 // CHECK_ICL_M64: #define __PCLMUL__ 1 -// CHECK_ICL_M64-NOT: #define __PKU__ 1 +// CHECK_ICL_M64: #define __PKU__ 1 // CHECK_ICL_M64: #define __POPCNT__ 1 // CHECK_ICL_M64: #define __PRFCHW__ 1 +// CHECK_ICL_M64: #define __RDPID__ 1 // CHECK_ICL_M64: #define __RDRND__ 1 +// CHECK_ICL_M64: #define __RDSEED__ 1 // CHECK_ICL_M64: #define __RTM__ 1 // CHECK_ICL_M64: #define __SGX__ 1 // CHECK_ICL_M64: #define __SHA__ 1 @@ -1148,6 +1175,7 @@ // CHECK_ICL_M64: #define __SSSE3__ 1 // CHECK_ICL_M64: #define __VAES__ 1 // CHECK_ICL_M64: #define __VPCLMULQDQ__ 1 +// CHECK_ICL_M64-NOT: #define __WBNOINVD__ 1 // CHECK_ICL_M64: #define __XSAVEC__ 1 // CHECK_ICL_M64: #define __XSAVEOPT__ 1 // CHECK_ICL_M64: #define __XSAVES__ 1 @@ -1160,6 +1188,125 @@ // CHECK_ICL_M64: #define __x86_64 1 // CHECK_ICL_M64: #define __x86_64__ 1 +// RUN: %clang -march=icelake-server -m32 -E -dM %s -o - 2>&1 \ +// RUN: -target i386-unknown-linux \ +// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_ICX_M32 +// CHECK_ICX_M32: #define __AES__ 1 +// CHECK_ICX_M32: #define __AVX2__ 1 +// CHECK_ICX_M32: #define __AVX512BITALG__ 1 +// CHECK_ICX_M32: #define __AVX512BW__ 1 +// CHECK_ICX_M32: #define __AVX512CD__ 1 +// CHECK_ICX_M32: #define __AVX512DQ__ 1 +// CHECK_ICX_M32: #define __AVX512F__ 1 +// CHECK_ICX_M32: #define __AVX512IFMA__ 1 +// CHECK_ICX_M32: #define __AVX512VBMI2__ 1 +// CHECK_ICX_M32: #define __AVX512VBMI__ 1 +// CHECK_ICX_M32: #define __AVX512VL__ 1 +// CHECK_ICX_M32: #define __AVX512VNNI__ 1 +// CHECK_ICX_M32: #define __AVX512VPOPCNTDQ__ 1 +// CHECK_ICX_M32: #define __AVX__ 1 +// CHECK_ICX_M32: #define __BMI2__ 1 +// CHECK_ICX_M32: #define __BMI__ 1 +// CHECK_ICX_M32: #define __CLFLUSHOPT__ 1 +// CHECK_ICX_M32: #define __CLWB__ 1 +// CHECK_ICX_M32: #define __F16C__ 1 +// CHECK_ICX_M32: #define __FMA__ 1 +// CHECK_ICX_M32: #define __GFNI__ 1 +// CHECK_ICX_M32: #define __INVPCID__ 1 +// CHECK_ICX_M32: #define __LZCNT__ 1 +// CHECK_ICX_M32: #define __MMX__ 1 +// CHECK_ICX_M32: #define __MPX__ 1 +// CHECK_ICX_M32: #define __PCLMUL__ 1 +// CHECK_ICX_M32: #define __PCONFIG__ 1 +// CHECK_ICX_M32: #define __PKU__ 1 +// CHECK_ICX_M32: #define __POPCNT__ 1 +// CHECK_ICX_M32: #define __PRFCHW__ 1 +// CHECK_ICX_M32: #define __RDPID__ 1 +// CHECK_ICX_M32: #define __RDRND__ 1 +// CHECK_ICX_M32: #define __RDSEED__ 1 +// CHECK_ICX_M32: #define __RTM__ 1 +// CHECK_ICX_M32: #define __SGX__ 1 +// CHECK_ICX_M32: #define __SHA__ 1 +// CHECK_ICX_M32: #define __SSE2__ 1 +// CHECK_ICX_M32: #define __SSE3__ 1 +// CHECK_ICX_M32: #define __SSE4_1__ 1 +// CHECK_ICX_M32: #define __SSE4_2__ 1 +// CHECK_ICX_M32: #define __SSE__ 1 +// CHECK_ICX_M32: #define __SSSE3__ 1 +// CHECK_ICX_M32: #define __VAES__ 1 +// CHECK_ICX_M32: #define __VPCLMULQDQ__ 1 +// CHECK_ICX_M32: #define __WBNOINVD__ 1 +// CHECK_ICX_M32: #define __XSAVEC__ 1 +// CHECK_ICX_M32: #define __XSAVEOPT__ 1 +// CHECK_ICX_M32: #define __XSAVES__ 1 +// CHECK_ICX_M32: #define __XSAVE__ 1 +// CHECK_ICX_M32: #define __corei7 1 +// CHECK_ICX_M32: #define __corei7__ 1 +// CHECK_ICX_M32: #define __i386 1 +// CHECK_ICX_M32: #define __i386__ 1 +// CHECK_ICX_M32: #define __tune_corei7__ 1 +// CHECK_ICX_M32: #define i386 1 + +// RUN: %clang -march=icelake-server -m64 -E -dM %s -o - 2>&1 \ +// RUN: -target i386-unknown-linux \ +// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_ICX_M64 +// CHECK_ICX_M64: #define __AES__ 1 +// CHECK_ICX_M64: #define __AVX2__ 1 +// CHECK_ICX_M64: #define __AVX512BITALG__ 1 +// CHECK_ICX_M64: #define __AVX512BW__ 1 +// CHECK_ICX_M64: #define __AVX512CD__ 1 +// CHECK_ICX_M64: #define __AVX512DQ__ 1 +// CHECK_ICX_M64: #define __AVX512F__ 1 +// CHECK_ICX_M64: #define __AVX512IFMA__ 1 +// CHECK_ICX_M64: #define __AVX512VBMI2__ 1 +// CHECK_ICX_M64: #define __AVX512VBMI__ 1 +// CHECK_ICX_M64: #define __AVX512VL__ 1 +// CHECK_ICX_M64: #define __AVX512VNNI__ 1 +// CHECK_ICX_M64: #define __AVX512VPOPCNTDQ__ 1 +// CHECK_ICX_M64: #define __AVX__ 1 +// CHECK_ICX_M64: #define __BMI2__ 1 +// CHECK_ICX_M64: #define __BMI__ 1 +// CHECK_ICX_M64: #define __CLFLUSHOPT__ 1 +// CHECK_ICX_M64: #define __CLWB__ 1 +// CHECK_ICX_M64: #define __F16C__ 1 +// CHECK_ICX_M64: #define __FMA__ 1 +// CHECK_ICX_M64: #define __GFNI__ 1 +// CHECK_ICX_M64: #define __INVPCID__ 1 +// CHECK_ICX_M64: #define __LZCNT__ 1 +// CHECK_ICX_M64: #define __MMX__ 1 +// CHECK_ICX_M64: #define __MPX__ 1 +// CHECK_ICX_M64: #define __PCLMUL__ 1 +// CHECK_ICX_M64: #define __PCONFIG__ 1 +// CHECK_ICX_M64: #define __PKU__ 1 +// CHECK_ICX_M64: #define __POPCNT__ 1 +// CHECK_ICX_M64: #define __PRFCHW__ 1 +// CHECK_ICX_M64: #define __RDPID__ 1 +// CHECK_ICX_M64: #define __RDRND__ 1 +// CHECK_ICX_M64: #define __RDSEED__ 1 +// CHECK_ICX_M64: #define __RTM__ 1 +// CHECK_ICX_M64: #define __SGX__ 1 +// CHECK_ICX_M64: #define __SHA__ 1 +// CHECK_ICX_M64: #define __SSE2__ 1 +// CHECK_ICX_M64: #define __SSE3__ 1 +// CHECK_ICX_M64: #define __SSE4_1__ 1 +// CHECK_ICX_M64: #define __SSE4_2__ 1 +// CHECK_ICX_M64: #define __SSE__ 1 +// CHECK_ICX_M64: #define __SSSE3__ 1 +// CHECK_ICX_M64: #define __VAES__ 1 +// CHECK_ICX_M64: #define __VPCLMULQDQ__ 1 +// CHECK_ICX_M64: #define __WBNOINVD__ 1 +// CHECK_ICX_M64: #define __XSAVEC__ 1 +// CHECK_ICX_M64: #define __XSAVEOPT__ 1 +// CHECK_ICX_M64: #define __XSAVES__ 1 +// CHECK_ICX_M64: #define __XSAVE__ 1 +// CHECK_ICX_M64: #define __amd64 1 +// CHECK_ICX_M64: #define __amd64__ 1 +// CHECK_ICX_M64: #define __corei7 1 +// CHECK_ICX_M64: #define __corei7__ 1 +// CHECK_ICX_M64: #define __tune_corei7__ 1 +// CHECK_ICX_M64: #define __x86_64 1 +// CHECK_ICX_M64: #define __x86_64__ 1 + // RUN: %clang -march=atom -m32 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ // RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_ATOM_M32 @@ -1174,6 +1321,7 @@ // CHECK_ATOM_M32: #define __i386__ 1 // CHECK_ATOM_M32: #define __tune_atom__ 1 // CHECK_ATOM_M32: #define i386 1 + // RUN: %clang -march=atom -m64 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ // RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_ATOM_M64 @@ -1191,7 +1339,7 @@ // CHECK_ATOM_M64: #define __tune_atom__ 1 // CHECK_ATOM_M64: #define __x86_64 1 // CHECK_ATOM_M64: #define __x86_64__ 1 -// + // RUN: %clang -march=goldmont -m32 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ // RUN: | FileCheck %s -check-prefix=CHECK_GLM_M32 @@ -1224,7 +1372,7 @@ // CHECK_GLM_M32: #define __i386__ 1 // CHECK_GLM_M32: #define __tune_goldmont__ 1 // CHECK_GLM_M32: #define i386 1 -// + // RUN: %clang -march=goldmont -m64 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ // RUN: | FileCheck %s -check-prefix=CHECK_GLM_M64 @@ -1239,6 +1387,7 @@ // CHECK_GLM_M64: #define __PRFCHW__ 1 // CHECK_GLM_M64: #define __RDRND__ 1 // CHECK_GLM_M64: #define __RDSEED__ 1 +// CHECK_GLM_M64: #define __SHA__ 1 // CHECK_GLM_M64: #define __SSE2__ 1 // CHECK_GLM_M64: #define __SSE3__ 1 // CHECK_GLM_M64: #define __SSE4_1__ 1 @@ -1254,7 +1403,157 @@ // CHECK_GLM_M64: #define __tune_goldmont__ 1 // CHECK_GLM_M64: #define __x86_64 1 // CHECK_GLM_M64: #define __x86_64__ 1 -// + +// RUN: %clang -march=goldmont-plus -m32 -E -dM %s -o - 2>&1 \ +// RUN: -target i386-unknown-linux \ +// RUN: | FileCheck %s -check-prefix=CHECK_GLMP_M32 +// CHECK_GLMP_M32: #define __AES__ 1 +// CHECK_GLMP_M32: #define __CLFLUSHOPT__ 1 +// CHECK_GLMP_M32: #define __FSGSBASE__ 1 +// CHECK_GLMP_M32: #define __FXSR__ 1 +// CHECK_GLMP_M32: #define __MMX__ 1 +// CHECK_GLMP_M32: #define __MPX__ 1 +// CHECK_GLMP_M32: #define __PCLMUL__ 1 +// CHECK_GLMP_M32: #define __POPCNT__ 1 +// CHECK_GLMP_M32: #define __PRFCHW__ 1 +// CHECK_GLMP_M32: #define __PTWRITE__ 1 +// CHECK_GLMP_M32: #define __RDPID__ 1 +// CHECK_GLMP_M32: #define __RDRND__ 1 +// CHECK_GLMP_M32: #define __RDSEED__ 1 +// CHECK_GLMP_M32: #define __SGX__ 1 +// CHECK_GLMP_M32: #define __SHA__ 1 +// CHECK_GLMP_M32: #define __SSE2__ 1 +// CHECK_GLMP_M32: #define __SSE3__ 1 +// CHECK_GLMP_M32: #define __SSE4_1__ 1 +// CHECK_GLMP_M32: #define __SSE4_2__ 1 +// CHECK_GLMP_M32: #define __SSE_MATH__ 1 +// CHECK_GLMP_M32: #define __SSE__ 1 +// CHECK_GLMP_M32: #define __SSSE3__ 1 +// CHECK_GLMP_M32: #define __XSAVEC__ 1 +// CHECK_GLMP_M32: #define __XSAVEOPT__ 1 +// CHECK_GLMP_M32: #define __XSAVES__ 1 +// CHECK_GLMP_M32: #define __XSAVE__ 1 +// CHECK_GLMP_M32: #define __goldmont_plus 1 +// CHECK_GLMP_M32: #define __goldmont_plus__ 1 +// CHECK_GLMP_M32: #define __i386 1 +// CHECK_GLMP_M32: #define __i386__ 1 +// CHECK_GLMP_M32: #define __tune_goldmont_plus__ 1 +// CHECK_GLMP_M32: #define i386 1 + +// RUN: %clang -march=goldmont-plus -m64 -E -dM %s -o - 2>&1 \ +// RUN: -target i386-unknown-linux \ +// RUN: | FileCheck %s -check-prefix=CHECK_GLMP_M64 +// CHECK_GLMP_M64: #define __AES__ 1 +// CHECK_GLMP_M64: #define __CLFLUSHOPT__ 1 +// CHECK_GLMP_M64: #define __FSGSBASE__ 1 +// CHECK_GLMP_M64: #define __FXSR__ 1 +// CHECK_GLMP_M64: #define __MMX__ 1 +// CHECK_GLMP_M64: #define __MPX__ 1 +// CHECK_GLMP_M64: #define __PCLMUL__ 1 +// CHECK_GLMP_M64: #define __POPCNT__ 1 +// CHECK_GLMP_M64: #define __PRFCHW__ 1 +// CHECK_GLMP_M64: #define __PTWRITE__ 1 +// CHECK_GLMP_M64: #define __RDPID__ 1 +// CHECK_GLMP_M64: #define __RDRND__ 1 +// CHECK_GLMP_M64: #define __RDSEED__ 1 +// CHECK_GLMP_M64: #define __SGX__ 1 +// CHECK_GLMP_M64: #define __SHA__ 1 +// CHECK_GLMP_M64: #define __SSE2__ 1 +// CHECK_GLMP_M64: #define __SSE3__ 1 +// CHECK_GLMP_M64: #define __SSE4_1__ 1 +// CHECK_GLMP_M64: #define __SSE4_2__ 1 +// CHECK_GLMP_M64: #define __SSE__ 1 +// CHECK_GLMP_M64: #define __SSSE3__ 1 +// CHECK_GLMP_M64: #define __XSAVEC__ 1 +// CHECK_GLMP_M64: #define __XSAVEOPT__ 1 +// CHECK_GLMP_M64: #define __XSAVES__ 1 +// CHECK_GLMP_M64: #define __XSAVE__ 1 +// CHECK_GLMP_M64: #define __goldmont_plus 1 +// CHECK_GLMP_M64: #define __goldmont_plus__ 1 +// CHECK_GLMP_M64: #define __tune_goldmont_plus__ 1 +// CHECK_GLMP_M64: #define __x86_64 1 +// CHECK_GLMP_M64: #define __x86_64__ 1 + +// RUN: %clang -march=tremont -m32 -E -dM %s -o - 2>&1 \ +// RUN: -target i386-unknown-linux \ +// RUN: | FileCheck %s -check-prefix=CHECK_TRM_M32 +// CHECK_TRM_M32: #define __AES__ 1 +// CHECK_TRM_M32: #define __CLDEMOTE__ 1 +// CHECK_TRM_M32: #define __CLFLUSHOPT__ 1 +// CHECK_TRM_M32: #define __FSGSBASE__ 1 +// CHECK_TRM_M32: #define __FXSR__ 1 +// CHECK_TRM_M32: #define __GFNI__ 1 +// CHECK_TRM_M32: #define __MMX__ 1 +// CHECK_TRM_M32: #define __MOVDIR64B__ 1 +// CHECK_TRM_M32: #define __MOVDIRI__ 1 +// CHECK_TRM_M32: #define __MPX__ 1 +// CHECK_TRM_M32: #define __PCLMUL__ 1 +// CHECK_TRM_M32: #define __POPCNT__ 1 +// CHECK_TRM_M32: #define __PRFCHW__ 1 +// CHECK_TRM_M32: #define __PTWRITE__ 1 +// CHECK_TRM_M32: #define __RDPID__ 1 +// CHECK_TRM_M32: #define __RDRND__ 1 +// CHECK_TRM_M32: #define __RDSEED__ 1 +// CHECK_TRM_M32: #define __SGX__ 1 +// CHECK_TRM_M32: #define __SHA__ 1 +// CHECK_TRM_M32: #define __SSE2__ 1 +// CHECK_TRM_M32: #define __SSE3__ 1 +// CHECK_TRM_M32: #define __SSE4_1__ 1 +// CHECK_TRM_M32: #define __SSE4_2__ 1 +// CHECK_TRM_M32: #define __SSE_MATH__ 1 +// CHECK_TRM_M32: #define __SSE__ 1 +// CHECK_TRM_M32: #define __SSSE3__ 1 +// CHECK_TRM_M32: #define __WAITPKG__ 1 +// CHECK_TRM_M32: #define __XSAVEC__ 1 +// CHECK_TRM_M32: #define __XSAVEOPT__ 1 +// CHECK_TRM_M32: #define __XSAVES__ 1 +// CHECK_TRM_M32: #define __XSAVE__ 1 +// CHECK_TRM_M32: #define __i386 1 +// CHECK_TRM_M32: #define __i386__ 1 +// CHECK_TRM_M32: #define __tremont 1 +// CHECK_TRM_M32: #define __tremont__ 1 +// CHECK_TRM_M32: #define __tune_tremont__ 1 +// CHECK_TRM_M32: #define i386 1 + +// RUN: %clang -march=tremont -m64 -E -dM %s -o - 2>&1 \ +// RUN: -target i386-unknown-linux \ +// RUN: | FileCheck %s -check-prefix=CHECK_TRM_M64 +// CHECK_TRM_M64: #define __AES__ 1 +// CHECK_TRM_M64: #define __CLDEMOTE__ 1 +// CHECK_TRM_M64: #define __CLFLUSHOPT__ 1 +// CHECK_TRM_M64: #define __FSGSBASE__ 1 +// CHECK_TRM_M64: #define __FXSR__ 1 +// CHECK_TRM_M64: #define __GFNI__ 1 +// CHECK_TRM_M64: #define __MMX__ 1 +// CHECK_TRM_M64: #define __MOVDIR64B__ 1 +// CHECK_TRM_M64: #define __MOVDIRI__ 1 +// CHECK_TRM_M64: #define __MPX__ 1 +// CHECK_TRM_M64: #define __PCLMUL__ 1 +// CHECK_TRM_M64: #define __POPCNT__ 1 +// CHECK_TRM_M64: #define __PRFCHW__ 1 +// CHECK_TRM_M64: #define __PTWRITE__ 1 +// CHECK_TRM_M64: #define __RDPID__ 1 +// CHECK_TRM_M64: #define __RDRND__ 1 +// CHECK_TRM_M64: #define __RDSEED__ 1 +// CHECK_TRM_M64: #define __SGX__ 1 +// CHECK_TRM_M64: #define __SHA__ 1 +// CHECK_TRM_M64: #define __SSE2__ 1 +// CHECK_TRM_M64: #define __SSE3__ 1 +// CHECK_TRM_M64: #define __SSE4_1__ 1 +// CHECK_TRM_M64: #define __SSE4_2__ 1 +// CHECK_TRM_M64: #define __SSE__ 1 +// CHECK_TRM_M64: #define __SSSE3__ 1 +// CHECK_TRM_M64: #define __WAITPKG__ 1 +// CHECK_TRM_M64: #define __XSAVEC__ 1 +// CHECK_TRM_M64: #define __XSAVEOPT__ 1 +// CHECK_TRM_M64: #define __XSAVES__ 1 +// CHECK_TRM_M64: #define __XSAVE__ 1 +// CHECK_TRM_M64: #define __tremont 1 +// CHECK_TRM_M64: #define __tremont__ 1 +// CHECK_TRM_M64: #define __tune_tremont__ 1 +// CHECK_TRM_M64: #define __x86_64 1 +// CHECK_TRM_M64: #define __x86_64__ 1 + // RUN: %clang -march=slm -m32 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ // RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_SLM_M32 @@ -1264,6 +1563,7 @@ // CHECK_SLM_M32: #define __PCLMUL__ 1 // CHECK_SLM_M32: #define __POPCNT__ 1 // CHECK_SLM_M32: #define __PRFCHW__ 1 +// CHECK_SLM_M32: #define __RDRND__ 1 // CHECK_SLM_M32: #define __SSE2__ 1 // CHECK_SLM_M32: #define __SSE3__ 1 // CHECK_SLM_M32: #define __SSE4_1__ 1 @@ -1276,6 +1576,7 @@ // CHECK_SLM_M32: #define __slm__ 1 // CHECK_SLM_M32: #define __tune_slm__ 1 // CHECK_SLM_M32: #define i386 1 + // RUN: %clang -march=slm -m64 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ // RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_SLM_M64 @@ -1285,6 +1586,7 @@ // CHECK_SLM_M64: #define __PCLMUL__ 1 // CHECK_SLM_M64: #define __POPCNT__ 1 // CHECK_SLM_M64: #define __PRFCHW__ 1 +// CHECK_SLM_M64: #define __RDRND__ 1 // CHECK_SLM_M64: #define __SSE2_MATH__ 1 // CHECK_SLM_M64: #define __SSE2__ 1 // CHECK_SLM_M64: #define __SSE3__ 1 @@ -1300,7 +1602,7 @@ // CHECK_SLM_M64: #define __tune_slm__ 1 // CHECK_SLM_M64: #define __x86_64 1 // CHECK_SLM_M64: #define __x86_64__ 1 -// + // RUN: %clang -march=lakemont -m32 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ // RUN: | FileCheck %s -check-prefix=CHECK_LAKEMONT_M32 @@ -1316,7 +1618,7 @@ // RUN: -target i386-unknown-linux \ // RUN: | FileCheck %s -check-prefix=CHECK_LAKEMONT_M64 // CHECK_LAKEMONT_M64: error: -// + // RUN: %clang -march=geode -m32 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ // RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_GEODE_M32 @@ -1333,7 +1635,7 @@ // RUN: -target i386-unknown-linux \ // RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_GEODE_M64 // CHECK_GEODE_M64: error: {{.*}} -// + // RUN: %clang -march=k6 -m32 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ // RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_K6_M32 @@ -1348,7 +1650,7 @@ // RUN: -target i386-unknown-linux \ // RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_K6_M64 // CHECK_K6_M64: error: {{.*}} -// + // RUN: %clang -march=k6-2 -m32 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ // RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_K6_2_M32 @@ -1366,7 +1668,7 @@ // RUN: -target i386-unknown-linux \ // RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_K6_2_M64 // CHECK_K6_2_M64: error: {{.*}} -// + // RUN: %clang -march=k6-3 -m32 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ // RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_K6_3_M32 @@ -1384,7 +1686,7 @@ // RUN: -target i386-unknown-linux \ // RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_K6_3_M64 // CHECK_K6_3_M64: error: {{.*}} -// + // RUN: %clang -march=athlon -m32 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ // RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_ATHLON_M32 @@ -1401,7 +1703,7 @@ // RUN: -target i386-unknown-linux \ // RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_ATHLON_M64 // CHECK_ATHLON_M64: error: {{.*}} -// + // RUN: %clang -march=athlon-tbird -m32 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ // RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_ATHLON_TBIRD_M32 @@ -1418,7 +1720,7 @@ // RUN: -target i386-unknown-linux \ // RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_ATHLON_TBIRD_M64 // CHECK_ATHLON_TBIRD_M64: error: {{.*}} -// + // RUN: %clang -march=athlon-4 -m32 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ // RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_ATHLON_4_M32 @@ -1438,7 +1740,7 @@ // RUN: -target i386-unknown-linux \ // RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_ATHLON_4_M64 // CHECK_ATHLON_4_M64: error: {{.*}} -// + // RUN: %clang -march=athlon-xp -m32 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ // RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_ATHLON_XP_M32 @@ -1458,7 +1760,7 @@ // RUN: -target i386-unknown-linux \ // RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_ATHLON_XP_M64 // CHECK_ATHLON_XP_M64: error: {{.*}} -// + // RUN: %clang -march=athlon-mp -m32 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ // RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_ATHLON_MP_M32 @@ -1478,7 +1780,7 @@ // RUN: -target i386-unknown-linux \ // RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_ATHLON_MP_M64 // CHECK_ATHLON_MP_M64: error: {{.*}} -// + // RUN: %clang -march=x86-64 -m32 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ // RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_X86_64_M32 @@ -1490,6 +1792,7 @@ // CHECK_X86_64_M32: #define __k8 1 // CHECK_X86_64_M32: #define __k8__ 1 // CHECK_X86_64_M32: #define i386 1 + // RUN: %clang -march=x86-64 -m64 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ // RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_X86_64_M64 @@ -1504,7 +1807,7 @@ // CHECK_X86_64_M64: #define __k8__ 1 // CHECK_X86_64_M64: #define __x86_64 1 // CHECK_X86_64_M64: #define __x86_64__ 1 -// + // RUN: %clang -march=k8 -m32 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ // RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_K8_M32 @@ -1519,6 +1822,7 @@ // CHECK_K8_M32: #define __k8__ 1 // CHECK_K8_M32: #define __tune_k8__ 1 // CHECK_K8_M32: #define i386 1 + // RUN: %clang -march=k8 -m64 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ // RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_K8_M64 @@ -1536,7 +1840,7 @@ // CHECK_K8_M64: #define __tune_k8__ 1 // CHECK_K8_M64: #define __x86_64 1 // CHECK_K8_M64: #define __x86_64__ 1 -// + // RUN: %clang -march=k8-sse3 -m32 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ // RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_K8_SSE3_M32 @@ -1552,6 +1856,7 @@ // CHECK_K8_SSE3_M32: #define __k8__ 1 // CHECK_K8_SSE3_M32: #define __tune_k8__ 1 // CHECK_K8_SSE3_M32: #define i386 1 + // RUN: %clang -march=k8-sse3 -m64 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ // RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_K8_SSE3_M64 @@ -1570,7 +1875,7 @@ // CHECK_K8_SSE3_M64: #define __tune_k8__ 1 // CHECK_K8_SSE3_M64: #define __x86_64 1 // CHECK_K8_SSE3_M64: #define __x86_64__ 1 -// + // RUN: %clang -march=opteron -m32 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ // RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_OPTERON_M32 @@ -1585,6 +1890,7 @@ // CHECK_OPTERON_M32: #define __k8__ 1 // CHECK_OPTERON_M32: #define __tune_k8__ 1 // CHECK_OPTERON_M32: #define i386 1 + // RUN: %clang -march=opteron -m64 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ // RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_OPTERON_M64 @@ -1602,7 +1908,7 @@ // CHECK_OPTERON_M64: #define __tune_k8__ 1 // CHECK_OPTERON_M64: #define __x86_64 1 // CHECK_OPTERON_M64: #define __x86_64__ 1 -// + // RUN: %clang -march=opteron-sse3 -m32 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ // RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_OPTERON_SSE3_M32 @@ -1618,6 +1924,7 @@ // CHECK_OPTERON_SSE3_M32: #define __k8__ 1 // CHECK_OPTERON_SSE3_M32: #define __tune_k8__ 1 // CHECK_OPTERON_SSE3_M32: #define i386 1 + // RUN: %clang -march=opteron-sse3 -m64 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ // RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_OPTERON_SSE3_M64 @@ -1636,7 +1943,7 @@ // CHECK_OPTERON_SSE3_M64: #define __tune_k8__ 1 // CHECK_OPTERON_SSE3_M64: #define __x86_64 1 // CHECK_OPTERON_SSE3_M64: #define __x86_64__ 1 -// + // RUN: %clang -march=athlon64 -m32 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ // RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_ATHLON64_M32 @@ -1651,6 +1958,7 @@ // CHECK_ATHLON64_M32: #define __k8__ 1 // CHECK_ATHLON64_M32: #define __tune_k8__ 1 // CHECK_ATHLON64_M32: #define i386 1 + // RUN: %clang -march=athlon64 -m64 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ // RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_ATHLON64_M64 @@ -1668,7 +1976,7 @@ // CHECK_ATHLON64_M64: #define __tune_k8__ 1 // CHECK_ATHLON64_M64: #define __x86_64 1 // CHECK_ATHLON64_M64: #define __x86_64__ 1 -// + // RUN: %clang -march=athlon64-sse3 -m32 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ // RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_ATHLON64_SSE3_M32 @@ -1684,6 +1992,7 @@ // CHECK_ATHLON64_SSE3_M32: #define __k8__ 1 // CHECK_ATHLON64_SSE3_M32: #define __tune_k8__ 1 // CHECK_ATHLON64_SSE3_M32: #define i386 1 + // RUN: %clang -march=athlon64-sse3 -m64 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ // RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_ATHLON64_SSE3_M64 @@ -1702,7 +2011,7 @@ // CHECK_ATHLON64_SSE3_M64: #define __tune_k8__ 1 // CHECK_ATHLON64_SSE3_M64: #define __x86_64 1 // CHECK_ATHLON64_SSE3_M64: #define __x86_64__ 1 -// + // RUN: %clang -march=athlon-fx -m32 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ // RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_ATHLON_FX_M32 @@ -1717,6 +2026,7 @@ // CHECK_ATHLON_FX_M32: #define __k8__ 1 // CHECK_ATHLON_FX_M32: #define __tune_k8__ 1 // CHECK_ATHLON_FX_M32: #define i386 1 + // RUN: %clang -march=athlon-fx -m64 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ // RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_ATHLON_FX_M64 @@ -1734,6 +2044,7 @@ // CHECK_ATHLON_FX_M64: #define __tune_k8__ 1 // CHECK_ATHLON_FX_M64: #define __x86_64 1 // CHECK_ATHLON_FX_M64: #define __x86_64__ 1 + // RUN: %clang -march=amdfam10 -m32 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ // RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_AMDFAM10_M32 @@ -1753,6 +2064,7 @@ // CHECK_AMDFAM10_M32: #define __i386 1 // CHECK_AMDFAM10_M32: #define __i386__ 1 // CHECK_AMDFAM10_M32: #define __tune_amdfam10__ 1 + // RUN: %clang -march=amdfam10 -m64 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ // RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_AMDFAM10_M64 @@ -1774,6 +2086,7 @@ // CHECK_AMDFAM10_M64: #define __tune_amdfam10__ 1 // CHECK_AMDFAM10_M64: #define __x86_64 1 // CHECK_AMDFAM10_M64: #define __x86_64__ 1 + // RUN: %clang -march=btver1 -m32 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ // RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_BTVER1_M32 @@ -1795,6 +2108,7 @@ // CHECK_BTVER1_M32: #define __i386 1 // CHECK_BTVER1_M32: #define __i386__ 1 // CHECK_BTVER1_M32: #define __tune_btver1__ 1 + // RUN: %clang -march=btver1 -m64 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ // RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_BTVER1_M64 @@ -1818,6 +2132,7 @@ // CHECK_BTVER1_M64: #define __tune_btver1__ 1 // CHECK_BTVER1_M64: #define __x86_64 1 // CHECK_BTVER1_M64: #define __x86_64__ 1 + // RUN: %clang -march=btver2 -m32 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ // RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_BTVER2_M32 @@ -1846,6 +2161,7 @@ // CHECK_BTVER2_M32: #define __i386 1 // CHECK_BTVER2_M32: #define __i386__ 1 // CHECK_BTVER2_M32: #define __tune_btver2__ 1 + // RUN: %clang -march=btver2 -m64 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ // RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_BTVER2_M64 @@ -1876,6 +2192,7 @@ // CHECK_BTVER2_M64: #define __tune_btver2__ 1 // CHECK_BTVER2_M64: #define __x86_64 1 // CHECK_BTVER2_M64: #define __x86_64__ 1 + // RUN: %clang -march=bdver1 -m32 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ // RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_BDVER1_M32 @@ -1906,6 +2223,7 @@ // CHECK_BDVER1_M32: #define __i386 1 // CHECK_BDVER1_M32: #define __i386__ 1 // CHECK_BDVER1_M32: #define __tune_bdver1__ 1 + // RUN: %clang -march=bdver1 -m64 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ // RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_BDVER1_M64 @@ -1938,6 +2256,7 @@ // CHECK_BDVER1_M64: #define __tune_bdver1__ 1 // CHECK_BDVER1_M64: #define __x86_64 1 // CHECK_BDVER1_M64: #define __x86_64__ 1 + // RUN: %clang -march=bdver2 -m32 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ // RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_BDVER2_M32 @@ -1972,6 +2291,7 @@ // CHECK_BDVER2_M32: #define __i386 1 // CHECK_BDVER2_M32: #define __i386__ 1 // CHECK_BDVER2_M32: #define __tune_bdver2__ 1 + // RUN: %clang -march=bdver2 -m64 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ // RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_BDVER2_M64 @@ -2008,6 +2328,7 @@ // CHECK_BDVER2_M64: #define __tune_bdver2__ 1 // CHECK_BDVER2_M64: #define __x86_64 1 // CHECK_BDVER2_M64: #define __x86_64__ 1 + // RUN: %clang -march=bdver3 -m32 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ // RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_BDVER3_M32 @@ -2044,6 +2365,7 @@ // CHECK_BDVER3_M32: #define __i386 1 // CHECK_BDVER3_M32: #define __i386__ 1 // CHECK_BDVER3_M32: #define __tune_bdver3__ 1 + // RUN: %clang -march=bdver3 -m64 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ // RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_BDVER3_M64 @@ -2082,6 +2404,7 @@ // CHECK_BDVER3_M64: #define __tune_bdver3__ 1 // CHECK_BDVER3_M64: #define __x86_64 1 // CHECK_BDVER3_M64: #define __x86_64__ 1 + // RUN: %clang -march=bdver4 -m32 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ // RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_BDVER4_M32 @@ -2119,6 +2442,7 @@ // CHECK_BDVER4_M32: #define __i386 1 // CHECK_BDVER4_M32: #define __i386__ 1 // CHECK_BDVER4_M32: #define __tune_bdver4__ 1 + // RUN: %clang -march=bdver4 -m64 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ // RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_BDVER4_M64 @@ -2158,6 +2482,7 @@ // CHECK_BDVER4_M64: #define __tune_bdver4__ 1 // CHECK_BDVER4_M64: #define __x86_64 1 // CHECK_BDVER4_M64: #define __x86_64__ 1 + // RUN: %clang -march=znver1 -m32 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ // RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_ZNVER1_M32 @@ -2200,6 +2525,7 @@ // CHECK_ZNVER1_M32: #define __tune_znver1__ 1 // CHECK_ZNVER1_M32: #define __znver1 1 // CHECK_ZNVER1_M32: #define __znver1__ 1 + // RUN: %clang -march=znver1 -m64 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ // RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_ZNVER1_M64 @@ -2244,7 +2570,7 @@ // CHECK_ZNVER1_M64: #define __x86_64__ 1 // CHECK_ZNVER1_M64: #define __znver1 1 // CHECK_ZNVER1_M64: #define __znver1__ 1 -// + // End X86/GCC/Linux tests ------------------ // Begin PPC/GCC/Linux tests ---------------- @@ -2252,32 +2578,27 @@ // RUN: %clang -mvsx -E -dM %s -o - 2>&1 \ // RUN: -target powerpc-unknown-linux \ // RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_PPC_VSX_M32 -// // CHECK_PPC_VSX_M32: #define __ALTIVEC__ 1 // CHECK_PPC_VSX_M32: #define __VSX__ 1 -// + // RUN: %clang -mvsx -E -dM %s -o - 2>&1 \ // RUN: -target powerpc64-unknown-linux \ // RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_PPC_VSX_M64 -// // CHECK_PPC_VSX_M64: #define __VSX__ 1 -// + // RUN: %clang -mpower8-vector -E -dM %s -o - 2>&1 \ // RUN: -target powerpc64-unknown-linux \ // RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_PPC_POWER8_VECTOR_M64 -// // CHECK_PPC_POWER8_VECTOR_M64: #define __POWER8_VECTOR__ 1 -// + // RUN: %clang -mpower9-vector -E -dM %s -o - 2>&1 \ // RUN: -target powerpc64-unknown-linux \ // RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_PPC_POWER9_VECTOR_M64 -// // CHECK_PPC_POWER9_VECTOR_M64: #define __POWER9_VECTOR__ 1 -// + // RUN: %clang -mcrypto -E -dM %s -o - 2>&1 \ // RUN: -target powerpc64-unknown-linux \ // RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_PPC_CRYPTO_M64 -// // CHECK_PPC_CRYPTO_M64: #define __CRYPTO__ 1 // HTM is available on power8 or later which includes all of powerpc64le as an @@ -2294,10 +2615,8 @@ // RUN: %clang -mcpu=pwr9 -E -dM %s -o - 2>&1 \ // RUN: -target powerpc64-unknown-linux \ // RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_PPC_HTM -// // CHECK_PPC_HTM: #define __HTM__ 1 -// // RUN: %clang -mcpu=ppc64 -E -dM %s -o - 2>&1 \ // RUN: -target powerpc64-unknown-unknown \ // RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_PPC_GCC_ATOMICS @@ -2307,23 +2626,18 @@ // RUN: %clang -E -dM %s -o - 2>&1 \ // RUN: -target powerpc64le-unknown-linux \ // RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_PPC_GCC_ATOMICS -// // CHECK_PPC_GCC_ATOMICS: #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 1 // CHECK_PPC_GCC_ATOMICS: #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 1 // CHECK_PPC_GCC_ATOMICS: #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 1 // CHECK_PPC_GCC_ATOMICS: #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 1 -// + // End PPC/GCC/Linux tests ------------------ // Begin Sparc/GCC/Linux tests ---------------- -// + // RUN: %clang -E -dM %s -o - 2>&1 \ // RUN: -target sparc-unknown-linux \ // RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_SPARC -// RUN: %clang -mcpu=v9 -E -dM %s -o - 2>&1 \ -// RUN: -target sparc-unknown-linux \ -// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_SPARC-V9 -// // CHECK_SPARC: #define __BIG_ENDIAN__ 1 // CHECK_SPARC: #define __sparc 1 // CHECK_SPARC: #define __sparc__ 1 @@ -2333,12 +2647,14 @@ // CHECK_SPARC-NOT: #define __sparcv9 1 // CHECK_SPARC-NOT: #define __sparcv9__ 1 +// RUN: %clang -mcpu=v9 -E -dM %s -o - 2>&1 \ +// RUN: -target sparc-unknown-linux \ +// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_SPARC-V9 // CHECK_SPARC-V9-NOT: #define __sparcv8 1 // CHECK_SPARC-V9: #define __sparc_v9__ 1 // CHECK_SPARC-V9: #define __sparcv9 1 // CHECK_SPARC-V9-NOT: #define __sparcv8 1 -// // RUN: %clang -E -dM %s -o - 2>&1 \ // RUN: -target sparcel-unknown-linux \ // RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_SPARCEL @@ -2391,19 +2707,22 @@ // CHECK_MYRIAD2: #define __leon__ 1 // CHECK_MYRIAD2-1: #define __myriad2 1 // CHECK_MYRIAD2-1: #define __myriad2__ 1 +// CHECK_MYRIAD2-2: #define __ma2x5x 1 +// CHECK_MYRIAD2-2: #define __ma2x5x__ 1 // CHECK_MYRIAD2-2: #define __myriad2 2 // CHECK_MYRIAD2-2: #define __myriad2__ 2 +// CHECK_MYRIAD2-3: #define __ma2x8x 1 +// CHECK_MYRIAD2-3: #define __ma2x8x__ 1 // CHECK_MYRIAD2-3: #define __myriad2 3 // CHECK_MYRIAD2-3: #define __myriad2__ 3 // CHECK_SPARCEL: #define __sparc 1 // CHECK_SPARCEL: #define __sparc__ 1 // CHECK_MYRIAD2: #define __sparc_v8__ 1 // CHECK_SPARCEL: #define __sparcv8 1 -// + // RUN: %clang -E -dM %s -o - 2>&1 \ // RUN: -target sparcv9-unknown-linux \ // RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_SPARCV9 -// // CHECK_SPARCV9: #define __BIG_ENDIAN__ 1 // CHECK_SPARCV9: #define __sparc 1 // CHECK_SPARCV9: #define __sparc64__ 1 @@ -2413,14 +2732,13 @@ // CHECK_SPARCV9: #define __sparcv9__ 1 // Begin SystemZ/GCC/Linux tests ---------------- -// + // RUN: %clang -march=arch8 -E -dM %s -o - 2>&1 \ // RUN: -target s390x-unknown-linux \ // RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_SYSTEMZ_ARCH8 // RUN: %clang -march=z10 -E -dM %s -o - 2>&1 \ // RUN: -target s390x-unknown-linux \ // RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_SYSTEMZ_ARCH8 -// // CHECK_SYSTEMZ_ARCH8: #define __ARCH__ 8 // CHECK_SYSTEMZ_ARCH8: #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 1 // CHECK_SYSTEMZ_ARCH8: #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 1 @@ -2430,14 +2748,13 @@ // CHECK_SYSTEMZ_ARCH8: #define __s390__ 1 // CHECK_SYSTEMZ_ARCH8: #define __s390x__ 1 // CHECK_SYSTEMZ_ARCH8: #define __zarch__ 1 -// + // RUN: %clang -march=arch9 -E -dM %s -o - 2>&1 \ // RUN: -target s390x-unknown-linux \ // RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_SYSTEMZ_ARCH9 // RUN: %clang -march=z196 -E -dM %s -o - 2>&1 \ // RUN: -target s390x-unknown-linux \ // RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_SYSTEMZ_ARCH9 -// // CHECK_SYSTEMZ_ARCH9: #define __ARCH__ 9 // CHECK_SYSTEMZ_ARCH9: #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 1 // CHECK_SYSTEMZ_ARCH9: #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 1 @@ -2447,14 +2764,13 @@ // CHECK_SYSTEMZ_ARCH9: #define __s390__ 1 // CHECK_SYSTEMZ_ARCH9: #define __s390x__ 1 // CHECK_SYSTEMZ_ARCH9: #define __zarch__ 1 -// + // RUN: %clang -march=arch10 -E -dM %s -o - 2>&1 \ // RUN: -target s390x-unknown-linux \ // RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_SYSTEMZ_ARCH10 // RUN: %clang -march=zEC12 -E -dM %s -o - 2>&1 \ // RUN: -target s390x-unknown-linux \ // RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_SYSTEMZ_ARCH10 -// // CHECK_SYSTEMZ_ARCH10: #define __ARCH__ 10 // CHECK_SYSTEMZ_ARCH10: #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 1 // CHECK_SYSTEMZ_ARCH10: #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 1 @@ -2465,14 +2781,13 @@ // CHECK_SYSTEMZ_ARCH10: #define __s390__ 1 // CHECK_SYSTEMZ_ARCH10: #define __s390x__ 1 // CHECK_SYSTEMZ_ARCH10: #define __zarch__ 1 -// + // RUN: %clang -march=arch11 -E -dM %s -o - 2>&1 \ // RUN: -target s390x-unknown-linux \ // RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_SYSTEMZ_ARCH11 // RUN: %clang -march=z13 -E -dM %s -o - 2>&1 \ // RUN: -target s390x-unknown-linux \ // RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_SYSTEMZ_ARCH11 -// // CHECK_SYSTEMZ_ARCH11: #define __ARCH__ 11 // CHECK_SYSTEMZ_ARCH11: #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 1 // CHECK_SYSTEMZ_ARCH11: #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 1 @@ -2484,14 +2799,13 @@ // CHECK_SYSTEMZ_ARCH11: #define __s390__ 1 // CHECK_SYSTEMZ_ARCH11: #define __s390x__ 1 // CHECK_SYSTEMZ_ARCH11: #define __zarch__ 1 -// + // RUN: %clang -march=arch12 -E -dM %s -o - 2>&1 \ // RUN: -target s390x-unknown-linux \ // RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_SYSTEMZ_ARCH12 // RUN: %clang -march=z14 -E -dM %s -o - 2>&1 \ // RUN: -target s390x-unknown-linux \ // RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_SYSTEMZ_ARCH12 -// // CHECK_SYSTEMZ_ARCH12: #define __ARCH__ 12 // CHECK_SYSTEMZ_ARCH12: #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 1 // CHECK_SYSTEMZ_ARCH12: #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 1 @@ -2503,30 +2817,27 @@ // CHECK_SYSTEMZ_ARCH12: #define __s390__ 1 // CHECK_SYSTEMZ_ARCH12: #define __s390x__ 1 // CHECK_SYSTEMZ_ARCH12: #define __zarch__ 1 -// + // RUN: %clang -mhtm -E -dM %s -o - 2>&1 \ // RUN: -target s390x-unknown-linux \ // RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_SYSTEMZ_HTM -// // CHECK_SYSTEMZ_HTM: #define __HTM__ 1 -// + // RUN: %clang -mvx -E -dM %s -o - 2>&1 \ // RUN: -target s390x-unknown-linux \ // RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_SYSTEMZ_VX -// // CHECK_SYSTEMZ_VX: #define __VX__ 1 -// + // RUN: %clang -fzvector -E -dM %s -o - 2>&1 \ // RUN: -target s390x-unknown-linux \ // RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_SYSTEMZ_ZVECTOR // RUN: %clang -mzvector -E -dM %s -o - 2>&1 \ // RUN: -target s390x-unknown-linux \ // RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_SYSTEMZ_ZVECTOR -// // CHECK_SYSTEMZ_ZVECTOR: #define __VEC__ 10302 // Begin amdgcn tests ---------------- -// + // RUN: %clang -march=amdgcn -E -dM %s -o - 2>&1 \ // RUN: -target amdgcn-unknown-unknown \ // RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_AMDGCN @@ -2536,7 +2847,7 @@ // CHECK_AMDGCN: #define __HAS_LDEXPF__ 1 // Begin r600 tests ---------------- -// + // RUN: %clang -march=amdgcn -E -dM %s -o - 2>&1 \ // RUN: -target r600-unknown-unknown \ // RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_R600 |