summaryrefslogtreecommitdiffstats
path: root/test/Preprocessor/predefined-arch-macros.c
diff options
context:
space:
mode:
Diffstat (limited to 'test/Preprocessor/predefined-arch-macros.c')
-rw-r--r--test/Preprocessor/predefined-arch-macros.c246
1 files changed, 216 insertions, 30 deletions
diff --git a/test/Preprocessor/predefined-arch-macros.c b/test/Preprocessor/predefined-arch-macros.c
index d0125cd..26298f9 100644
--- a/test/Preprocessor/predefined-arch-macros.c
+++ b/test/Preprocessor/predefined-arch-macros.c
@@ -1,6 +1,3 @@
-// These tests are generated by running utils/generate_arch_predefine_tests.sh
-// to observe GCC's behavior (or some other system compiler's behavior).
-//
// Begin X86/GCC/Linux tests ----------------
//
// RUN: %clang -march=i386 -m32 -E -dM %s -o - 2>&1 \
@@ -10,7 +7,7 @@
// CHECK_I386_M32: #define __i386__ 1
// CHECK_I386_M32: #define __tune_i386__ 1
// CHECK_I386_M32: #define i386 1
-// RUN: %clang -march=i386 -m64 -E -dM %s -o - 2>&1 \
+// RUN: not %clang -march=i386 -m64 -E -dM %s -o - 2>&1 \
// RUN: -target i386-unknown-linux \
// RUN: | FileCheck %s -check-prefix=CHECK_I386_M64
// CHECK_I386_M64: error:
@@ -24,7 +21,7 @@
// CHECK_I486_M32: #define __i486__ 1
// CHECK_I486_M32: #define __tune_i486__ 1
// CHECK_I486_M32: #define i386 1
-// RUN: %clang -march=i486 -m64 -E -dM %s -o - 2>&1 \
+// RUN: not %clang -march=i486 -m64 -E -dM %s -o - 2>&1 \
// RUN: -target i386-unknown-linux \
// RUN: | FileCheck %s -check-prefix=CHECK_I486_M64
// CHECK_I486_M64: error:
@@ -41,7 +38,7 @@
// CHECK_I586_M32: #define __tune_i586__ 1
// CHECK_I586_M32: #define __tune_pentium__ 1
// CHECK_I586_M32: #define i386 1
-// RUN: %clang -march=i586 -m64 -E -dM %s -o - 2>&1 \
+// RUN: not %clang -march=i586 -m64 -E -dM %s -o - 2>&1 \
// RUN: -target i386-unknown-linux \
// RUN: | FileCheck %s -check-prefix=CHECK_I586_M64
// CHECK_I586_M64: error:
@@ -58,7 +55,7 @@
// CHECK_PENTIUM_M32: #define __tune_i586__ 1
// CHECK_PENTIUM_M32: #define __tune_pentium__ 1
// CHECK_PENTIUM_M32: #define i386 1
-// RUN: %clang -march=pentium -m64 -E -dM %s -o - 2>&1 \
+// RUN: not %clang -march=pentium -m64 -E -dM %s -o - 2>&1 \
// RUN: -target i386-unknown-linux \
// RUN: | FileCheck %s -check-prefix=CHECK_PENTIUM_M64
// CHECK_PENTIUM_M64: error:
@@ -78,7 +75,7 @@
// CHECK_PENTIUM_MMX_M32: #define __tune_pentium__ 1
// CHECK_PENTIUM_MMX_M32: #define __tune_pentium_mmx__ 1
// CHECK_PENTIUM_MMX_M32: #define i386 1
-// RUN: %clang -march=pentium-mmx -m64 -E -dM %s -o - 2>&1 \
+// RUN: not %clang -march=pentium-mmx -m64 -E -dM %s -o - 2>&1 \
// RUN: -target i386-unknown-linux \
// RUN: | FileCheck %s -check-prefix=CHECK_PENTIUM_MMX_M64
// CHECK_PENTIUM_MMX_M64: error:
@@ -93,7 +90,7 @@
// CHECK_WINCHIP_C6_M32: #define __i486__ 1
// CHECK_WINCHIP_C6_M32: #define __tune_i486__ 1
// CHECK_WINCHIP_C6_M32: #define i386 1
-// RUN: %clang -march=winchip-c6 -m64 -E -dM %s -o - 2>&1 \
+// RUN: not %clang -march=winchip-c6 -m64 -E -dM %s -o - 2>&1 \
// RUN: -target i386-unknown-linux \
// RUN: | FileCheck %s -check-prefix=CHECK_WINCHIP_C6_M64
// CHECK_WINCHIP_C6_M64: error:
@@ -109,7 +106,7 @@
// CHECK_WINCHIP2_M32: #define __i486__ 1
// CHECK_WINCHIP2_M32: #define __tune_i486__ 1
// CHECK_WINCHIP2_M32: #define i386 1
-// RUN: %clang -march=winchip2 -m64 -E -dM %s -o - 2>&1 \
+// RUN: not %clang -march=winchip2 -m64 -E -dM %s -o - 2>&1 \
// RUN: -target i386-unknown-linux \
// RUN: | FileCheck %s -check-prefix=CHECK_WINCHIP2_M64
// CHECK_WINCHIP2_M64: error:
@@ -125,7 +122,7 @@
// CHECK_C3_M32: #define __i486__ 1
// CHECK_C3_M32: #define __tune_i486__ 1
// CHECK_C3_M32: #define i386 1
-// RUN: %clang -march=c3 -m64 -E -dM %s -o - 2>&1 \
+// RUN: not %clang -march=c3 -m64 -E -dM %s -o - 2>&1 \
// RUN: -target i386-unknown-linux \
// RUN: | FileCheck %s -check-prefix=CHECK_C3_M64
// CHECK_C3_M64: error:
@@ -145,7 +142,7 @@
// CHECK_C3_2_M32: #define __tune_pentium2__ 1
// CHECK_C3_2_M32: #define __tune_pentiumpro__ 1
// CHECK_C3_2_M32: #define i386 1
-// RUN: %clang -march=c3-2 -m64 -E -dM %s -o - 2>&1 \
+// RUN: not %clang -march=c3-2 -m64 -E -dM %s -o - 2>&1 \
// RUN: -target i386-unknown-linux \
// RUN: | FileCheck %s -check-prefix=CHECK_C3_2_M64
// CHECK_C3_2_M64: error:
@@ -160,7 +157,7 @@
// CHECK_I686_M32: #define __pentiumpro 1
// CHECK_I686_M32: #define __pentiumpro__ 1
// CHECK_I686_M32: #define i386 1
-// RUN: %clang -march=i686 -m64 -E -dM %s -o - 2>&1 \
+// RUN: not %clang -march=i686 -m64 -E -dM %s -o - 2>&1 \
// RUN: -target i386-unknown-linux \
// RUN: | FileCheck %s -check-prefix=CHECK_I686_M64
// CHECK_I686_M64: error:
@@ -177,7 +174,7 @@
// CHECK_PENTIUMPRO_M32: #define __tune_i686__ 1
// CHECK_PENTIUMPRO_M32: #define __tune_pentiumpro__ 1
// CHECK_PENTIUMPRO_M32: #define i386 1
-// RUN: %clang -march=pentiumpro -m64 -E -dM %s -o - 2>&1 \
+// RUN: not %clang -march=pentiumpro -m64 -E -dM %s -o - 2>&1 \
// RUN: -target i386-unknown-linux \
// RUN: | FileCheck %s -check-prefix=CHECK_PENTIUMPRO_M64
// CHECK_PENTIUMPRO_M64: error:
@@ -196,7 +193,7 @@
// CHECK_PENTIUM2_M32: #define __tune_pentium2__ 1
// CHECK_PENTIUM2_M32: #define __tune_pentiumpro__ 1
// CHECK_PENTIUM2_M32: #define i386 1
-// RUN: %clang -march=pentium2 -m64 -E -dM %s -o - 2>&1 \
+// RUN: not %clang -march=pentium2 -m64 -E -dM %s -o - 2>&1 \
// RUN: -target i386-unknown-linux \
// RUN: | FileCheck %s -check-prefix=CHECK_PENTIUM2_M64
// CHECK_PENTIUM2_M64: error:
@@ -217,7 +214,7 @@
// CHECK_PENTIUM3_M32: #define __tune_pentium3__ 1
// CHECK_PENTIUM3_M32: #define __tune_pentiumpro__ 1
// CHECK_PENTIUM3_M32: #define i386 1
-// RUN: %clang -march=pentium3 -m64 -E -dM %s -o - 2>&1 \
+// RUN: not %clang -march=pentium3 -m64 -E -dM %s -o - 2>&1 \
// RUN: -target i386-unknown-linux \
// RUN: | FileCheck %s -check-prefix=CHECK_PENTIUM3_M64
// CHECK_PENTIUM3_M64: error:
@@ -236,7 +233,7 @@
// CHECK_PENTIUM3M_M32: #define __tune_i686__ 1
// CHECK_PENTIUM3M_M32: #define __tune_pentiumpro__ 1
// CHECK_PENTIUM3M_M32: #define i386 1
-// RUN: %clang -march=pentium3m -m64 -E -dM %s -o - 2>&1 \
+// RUN: not %clang -march=pentium3m -m64 -E -dM %s -o - 2>&1 \
// RUN: -target i386-unknown-linux \
// RUN: | FileCheck %s -check-prefix=CHECK_PENTIUM3M_M64
// CHECK_PENTIUM3M_M64: error:
@@ -256,7 +253,7 @@
// CHECK_PENTIUM_M_M32: #define __tune_i686__ 1
// CHECK_PENTIUM_M_M32: #define __tune_pentiumpro__ 1
// CHECK_PENTIUM_M_M32: #define i386 1
-// RUN: %clang -march=pentium-m -m64 -E -dM %s -o - 2>&1 \
+// RUN: not %clang -march=pentium-m -m64 -E -dM %s -o - 2>&1 \
// RUN: -target i386-unknown-linux \
// RUN: | FileCheck %s -check-prefix=CHECK_PENTIUM_M_M64
// CHECK_PENTIUM_M_M64: error:
@@ -273,7 +270,7 @@
// CHECK_PENTIUM4_M32: #define __pentium4__ 1
// CHECK_PENTIUM4_M32: #define __tune_pentium4__ 1
// CHECK_PENTIUM4_M32: #define i386 1
-// RUN: %clang -march=pentium4 -m64 -E -dM %s -o - 2>&1 \
+// RUN: not %clang -march=pentium4 -m64 -E -dM %s -o - 2>&1 \
// RUN: -target i386-unknown-linux \
// RUN: | FileCheck %s -check-prefix=CHECK_PENTIUM4_M64
// CHECK_PENTIUM4_M64: error:
@@ -290,7 +287,7 @@
// CHECK_PENTIUM4M_M32: #define __pentium4__ 1
// CHECK_PENTIUM4M_M32: #define __tune_pentium4__ 1
// CHECK_PENTIUM4M_M32: #define i386 1
-// RUN: %clang -march=pentium4m -m64 -E -dM %s -o - 2>&1 \
+// RUN: not %clang -march=pentium4m -m64 -E -dM %s -o - 2>&1 \
// RUN: -target i386-unknown-linux \
// RUN: | FileCheck %s -check-prefix=CHECK_PENTIUM4M_M64
// CHECK_PENTIUM4M_M64: error:
@@ -308,7 +305,7 @@
// CHECK_PRESCOTT_M32: #define __nocona__ 1
// CHECK_PRESCOTT_M32: #define __tune_nocona__ 1
// CHECK_PRESCOTT_M32: #define i386 1
-// RUN: %clang -march=prescott -m64 -E -dM %s -o - 2>&1 \
+// RUN: not %clang -march=prescott -m64 -E -dM %s -o - 2>&1 \
// RUN: -target i386-unknown-linux \
// RUN: | FileCheck %s -check-prefix=CHECK_PRESCOTT_M64
// CHECK_PRESCOTT_M64: error:
@@ -509,6 +506,7 @@
// RUN: -target i386-unknown-linux \
// RUN: | FileCheck %s -check-prefix=CHECK_CORE_AVX2_M32
// CHECK_CORE_AVX2_M32: #define __AES__ 1
+// CHECK_CORE_AVX2_M32: #define __AVX2__ 1
// CHECK_CORE_AVX2_M32: #define __AVX__ 1
// CHECK_CORE_AVX2_M32: #define __BMI2__ 1
// CHECK_CORE_AVX2_M32: #define __BMI__ 1
@@ -536,6 +534,7 @@
// RUN: -target i386-unknown-linux \
// RUN: | FileCheck %s -check-prefix=CHECK_CORE_AVX2_M64
// CHECK_CORE_AVX2_M64: #define __AES__ 1
+// CHECK_CORE_AVX2_M64: #define __AVX2__ 1
// CHECK_CORE_AVX2_M64: #define __AVX__ 1
// CHECK_CORE_AVX2_M64: #define __BMI2__ 1
// CHECK_CORE_AVX2_M64: #define __BMI__ 1
@@ -563,6 +562,74 @@
// CHECK_CORE_AVX2_M64: #define __x86_64 1
// CHECK_CORE_AVX2_M64: #define __x86_64__ 1
//
+// RUN: %clang -march=knl -m32 -E -dM %s -o - 2>&1 \
+// RUN: -target i386-unknown-linux \
+// RUN: | FileCheck %s -check-prefix=CHECK_KNL_M32
+// CHECK_KNL_M32: #define __AES__ 1
+// CHECK_KNL_M32: #define __AVX2__ 1
+// CHECK_KNL_M32: #define __AVX512CD__ 1
+// CHECK_KNL_M32: #define __AVX512ER__ 1
+// CHECK_KNL_M32: #define __AVX512F__ 1
+// CHECK_KNL_M32: #define __AVX512PF__ 1
+// CHECK_KNL_M32: #define __AVX__ 1
+// CHECK_KNL_M32: #define __BMI2__ 1
+// CHECK_KNL_M32: #define __BMI__ 1
+// CHECK_KNL_M32: #define __F16C__ 1
+// CHECK_KNL_M32: #define __FMA__ 1
+// CHECK_KNL_M32: #define __LZCNT__ 1
+// CHECK_KNL_M32: #define __MMX__ 1
+// CHECK_KNL_M32: #define __PCLMUL__ 1
+// CHECK_KNL_M32: #define __POPCNT__ 1
+// CHECK_KNL_M32: #define __RDRND__ 1
+// CHECK_KNL_M32: #define __RTM__ 1
+// CHECK_KNL_M32: #define __SSE2__ 1
+// CHECK_KNL_M32: #define __SSE3__ 1
+// CHECK_KNL_M32: #define __SSE4_1__ 1
+// CHECK_KNL_M32: #define __SSE4_2__ 1
+// CHECK_KNL_M32: #define __SSE__ 1
+// CHECK_KNL_M32: #define __SSSE3__ 1
+// CHECK_KNL_M32: #define __i386 1
+// CHECK_KNL_M32: #define __i386__ 1
+// CHECK_KNL_M32: #define __knl 1
+// CHECK_KNL_M32: #define __knl__ 1
+// CHECK_KNL_M32: #define __tune_knl__ 1
+// CHECK_KNL_M32: #define i386 1
+// RUN: %clang -march=knl -m64 -E -dM %s -o - 2>&1 \
+// RUN: -target i386-unknown-linux \
+// RUN: | FileCheck %s -check-prefix=CHECK_KNL_M64
+// CHECK_KNL_M64: #define __AES__ 1
+// CHECK_KNL_M64: #define __AVX2__ 1
+// CHECK_KNL_M64: #define __AVX512CD__ 1
+// CHECK_KNL_M64: #define __AVX512ER__ 1
+// CHECK_KNL_M64: #define __AVX512F__ 1
+// CHECK_KNL_M64: #define __AVX512PF__ 1
+// CHECK_KNL_M64: #define __AVX__ 1
+// CHECK_KNL_M64: #define __BMI2__ 1
+// CHECK_KNL_M64: #define __BMI__ 1
+// CHECK_KNL_M64: #define __F16C__ 1
+// CHECK_KNL_M64: #define __FMA__ 1
+// CHECK_KNL_M64: #define __LZCNT__ 1
+// CHECK_KNL_M64: #define __MMX__ 1
+// CHECK_KNL_M64: #define __PCLMUL__ 1
+// CHECK_KNL_M64: #define __POPCNT__ 1
+// CHECK_KNL_M64: #define __RDRND__ 1
+// CHECK_KNL_M64: #define __RTM__ 1
+// CHECK_KNL_M64: #define __SSE2_MATH__ 1
+// CHECK_KNL_M64: #define __SSE2__ 1
+// CHECK_KNL_M64: #define __SSE3__ 1
+// CHECK_KNL_M64: #define __SSE4_1__ 1
+// CHECK_KNL_M64: #define __SSE4_2__ 1
+// CHECK_KNL_M64: #define __SSE_MATH__ 1
+// CHECK_KNL_M64: #define __SSE__ 1
+// CHECK_KNL_M64: #define __SSSE3__ 1
+// CHECK_KNL_M64: #define __amd64 1
+// CHECK_KNL_M64: #define __amd64__ 1
+// CHECK_KNL_M64: #define __knl 1
+// CHECK_KNL_M64: #define __knl__ 1
+// CHECK_KNL_M64: #define __tune_knl__ 1
+// CHECK_KNL_M64: #define __x86_64 1
+// CHECK_KNL_M64: #define __x86_64__ 1
+//
// RUN: %clang -march=atom -m32 -E -dM %s -o - 2>&1 \
// RUN: -target i386-unknown-linux \
// RUN: | FileCheck %s -check-prefix=CHECK_ATOM_M32
@@ -595,6 +662,42 @@
// CHECK_ATOM_M64: #define __x86_64 1
// CHECK_ATOM_M64: #define __x86_64__ 1
//
+// RUN: %clang -march=slm -m32 -E -dM %s -o - 2>&1 \
+// RUN: -target i386-unknown-linux \
+// RUN: | FileCheck %s -check-prefix=CHECK_SLM_M32
+// CHECK_SLM_M32: #define __MMX__ 1
+// CHECK_SLM_M32: #define __SSE2__ 1
+// CHECK_SLM_M32: #define __SSE3__ 1
+// CHECK_SLM_M32: #define __SSE4_1__ 1
+// CHECK_SLM_M32: #define __SSE4_2__ 1
+// CHECK_SLM_M32: #define __SSE__ 1
+// CHECK_SLM_M32: #define __SSSE3__ 1
+// CHECK_SLM_M32: #define __i386 1
+// CHECK_SLM_M32: #define __i386__ 1
+// CHECK_SLM_M32: #define __slm 1
+// 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 %s -check-prefix=CHECK_SLM_M64
+// CHECK_SLM_M64: #define __MMX__ 1
+// CHECK_SLM_M64: #define __SSE2_MATH__ 1
+// CHECK_SLM_M64: #define __SSE2__ 1
+// CHECK_SLM_M64: #define __SSE3__ 1
+// CHECK_SLM_M64: #define __SSE4_1__ 1
+// CHECK_SLM_M64: #define __SSE4_2__ 1
+// CHECK_SLM_M64: #define __SSE_MATH__ 1
+// CHECK_SLM_M64: #define __SSE__ 1
+// CHECK_SLM_M64: #define __SSSE3__ 1
+// CHECK_SLM_M64: #define __amd64 1
+// CHECK_SLM_M64: #define __amd64__ 1
+// CHECK_SLM_M64: #define __slm 1
+// CHECK_SLM_M64: #define __slm__ 1
+// CHECK_SLM_M64: #define __tune_slm__ 1
+// CHECK_SLM_M64: #define __x86_64 1
+// CHECK_SLM_M64: #define __x86_64__ 1
+//
// RUN: %clang -march=geode -m32 -E -dM %s -o - 2>&1 \
// RUN: -target i386-unknown-linux \
// RUN: | FileCheck %s -check-prefix=CHECK_GEODE_M32
@@ -607,7 +710,7 @@
// CHECK_GEODE_M32: #define __i386__ 1
// CHECK_GEODE_M32: #define __tune_geode__ 1
// CHECK_GEODE_M32: #define i386 1
-// RUN: %clang -march=geode -m64 -E -dM %s -o - 2>&1 \
+// RUN: not %clang -march=geode -m64 -E -dM %s -o - 2>&1 \
// RUN: -target i386-unknown-linux \
// RUN: | FileCheck %s -check-prefix=CHECK_GEODE_M64
// CHECK_GEODE_M64: error:
@@ -622,7 +725,7 @@
// CHECK_K6_M32: #define __k6__ 1
// CHECK_K6_M32: #define __tune_k6__ 1
// CHECK_K6_M32: #define i386 1
-// RUN: %clang -march=k6 -m64 -E -dM %s -o - 2>&1 \
+// RUN: not %clang -march=k6 -m64 -E -dM %s -o - 2>&1 \
// RUN: -target i386-unknown-linux \
// RUN: | FileCheck %s -check-prefix=CHECK_K6_M64
// CHECK_K6_M64: error:
@@ -640,7 +743,7 @@
// CHECK_K6_2_M32: #define __tune_k6_2__ 1
// CHECK_K6_2_M32: #define __tune_k6__ 1
// CHECK_K6_2_M32: #define i386 1
-// RUN: %clang -march=k6-2 -m64 -E -dM %s -o - 2>&1 \
+// RUN: not %clang -march=k6-2 -m64 -E -dM %s -o - 2>&1 \
// RUN: -target i386-unknown-linux \
// RUN: | FileCheck %s -check-prefix=CHECK_K6_2_M64
// CHECK_K6_2_M64: error:
@@ -658,7 +761,7 @@
// CHECK_K6_3_M32: #define __tune_k6_3__ 1
// CHECK_K6_3_M32: #define __tune_k6__ 1
// CHECK_K6_3_M32: #define i386 1
-// RUN: %clang -march=k6-3 -m64 -E -dM %s -o - 2>&1 \
+// RUN: not %clang -march=k6-3 -m64 -E -dM %s -o - 2>&1 \
// RUN: -target i386-unknown-linux \
// RUN: | FileCheck %s -check-prefix=CHECK_K6_3_M64
// CHECK_K6_3_M64: error:
@@ -675,7 +778,7 @@
// CHECK_ATHLON_M32: #define __i386__ 1
// CHECK_ATHLON_M32: #define __tune_athlon__ 1
// CHECK_ATHLON_M32: #define i386 1
-// RUN: %clang -march=athlon -m64 -E -dM %s -o - 2>&1 \
+// RUN: not %clang -march=athlon -m64 -E -dM %s -o - 2>&1 \
// RUN: -target i386-unknown-linux \
// RUN: | FileCheck %s -check-prefix=CHECK_ATHLON_M64
// CHECK_ATHLON_M64: error:
@@ -692,7 +795,7 @@
// CHECK_ATHLON_TBIRD_M32: #define __i386__ 1
// CHECK_ATHLON_TBIRD_M32: #define __tune_athlon__ 1
// CHECK_ATHLON_TBIRD_M32: #define i386 1
-// RUN: %clang -march=athlon-tbird -m64 -E -dM %s -o - 2>&1 \
+// RUN: not %clang -march=athlon-tbird -m64 -E -dM %s -o - 2>&1 \
// RUN: -target i386-unknown-linux \
// RUN: | FileCheck %s -check-prefix=CHECK_ATHLON_TBIRD_M64
// CHECK_ATHLON_TBIRD_M64: error:
@@ -712,7 +815,7 @@
// CHECK_ATHLON_4_M32: #define __tune_athlon__ 1
// CHECK_ATHLON_4_M32: #define __tune_athlon_sse__ 1
// CHECK_ATHLON_4_M32: #define i386 1
-// RUN: %clang -march=athlon-4 -m64 -E -dM %s -o - 2>&1 \
+// RUN: not %clang -march=athlon-4 -m64 -E -dM %s -o - 2>&1 \
// RUN: -target i386-unknown-linux \
// RUN: | FileCheck %s -check-prefix=CHECK_ATHLON_4_M64
// CHECK_ATHLON_4_M64: error:
@@ -732,7 +835,7 @@
// CHECK_ATHLON_XP_M32: #define __tune_athlon__ 1
// CHECK_ATHLON_XP_M32: #define __tune_athlon_sse__ 1
// CHECK_ATHLON_XP_M32: #define i386 1
-// RUN: %clang -march=athlon-xp -m64 -E -dM %s -o - 2>&1 \
+// RUN: not %clang -march=athlon-xp -m64 -E -dM %s -o - 2>&1 \
// RUN: -target i386-unknown-linux \
// RUN: | FileCheck %s -check-prefix=CHECK_ATHLON_XP_M64
// CHECK_ATHLON_XP_M64: error:
@@ -752,7 +855,7 @@
// CHECK_ATHLON_MP_M32: #define __tune_athlon__ 1
// CHECK_ATHLON_MP_M32: #define __tune_athlon_sse__ 1
// CHECK_ATHLON_MP_M32: #define i386 1
-// RUN: %clang -march=athlon-mp -m64 -E -dM %s -o - 2>&1 \
+// RUN: not %clang -march=athlon-mp -m64 -E -dM %s -o - 2>&1 \
// RUN: -target i386-unknown-linux \
// RUN: | FileCheck %s -check-prefix=CHECK_ATHLON_MP_M64
// CHECK_ATHLON_MP_M64: error:
@@ -1060,6 +1163,7 @@
// CHECK_BTVER1_M32: #define __LZCNT__ 1
// CHECK_BTVER1_M32: #define __MMX__ 1
// CHECK_BTVER1_M32: #define __POPCNT__ 1
+// CHECK_BTVER1_M32: #define __PRFCHW__ 1
// CHECK_BTVER1_M32: #define __SSE2_MATH__ 1
// CHECK_BTVER1_M32: #define __SSE2__ 1
// CHECK_BTVER1_M32: #define __SSE3__ 1
@@ -1080,6 +1184,7 @@
// CHECK_BTVER1_M64: #define __LZCNT__ 1
// CHECK_BTVER1_M64: #define __MMX__ 1
// CHECK_BTVER1_M64: #define __POPCNT__ 1
+// CHECK_BTVER1_M64: #define __PRFCHW__ 1
// CHECK_BTVER1_M64: #define __SSE2_MATH__ 1
// CHECK_BTVER1_M64: #define __SSE2__ 1
// CHECK_BTVER1_M64: #define __SSE3__ 1
@@ -1104,6 +1209,7 @@
// CHECK_BTVER2_M32: #define __LZCNT__ 1
// CHECK_BTVER2_M32: #define __MMX__ 1
// CHECK_BTVER2_M32: #define __POPCNT__ 1
+// CHECK_BTVER2_M32: #define __PRFCHW__ 1
// CHECK_BTVER2_M32: #define __SSE2_MATH__ 1
// CHECK_BTVER2_M32: #define __SSE2__ 1
// CHECK_BTVER2_M32: #define __SSE3__ 1
@@ -1126,6 +1232,7 @@
// CHECK_BTVER2_M64: #define __LZCNT__ 1
// CHECK_BTVER2_M64: #define __MMX__ 1
// CHECK_BTVER2_M64: #define __POPCNT__ 1
+// CHECK_BTVER2_M64: #define __PRFCHW__ 1
// CHECK_BTVER2_M64: #define __SSE2_MATH__ 1
// CHECK_BTVER2_M64: #define __SSE2__ 1
// CHECK_BTVER2_M64: #define __SSE3__ 1
@@ -1152,6 +1259,7 @@
// CHECK_BDVER1_M32: #define __MMX__ 1
// CHECK_BDVER1_M32: #define __PCLMUL__ 1
// CHECK_BDVER1_M32: #define __POPCNT__ 1
+// CHECK_BDVER1_M32: #define __PRFCHW__ 1
// CHECK_BDVER1_M32: #define __SSE2_MATH__ 1
// CHECK_BDVER1_M32: #define __SSE2__ 1
// CHECK_BDVER1_M32: #define __SSE3__ 1
@@ -1179,6 +1287,7 @@
// CHECK_BDVER1_M64: #define __MMX__ 1
// CHECK_BDVER1_M64: #define __PCLMUL__ 1
// CHECK_BDVER1_M64: #define __POPCNT__ 1
+// CHECK_BDVER1_M64: #define __PRFCHW__ 1
// CHECK_BDVER1_M64: #define __SSE2_MATH__ 1
// CHECK_BDVER1_M64: #define __SSE2__ 1
// CHECK_BDVER1_M64: #define __SSE3__ 1
@@ -1211,6 +1320,7 @@
// CHECK_BDVER2_M32: #define __MMX__ 1
// CHECK_BDVER2_M32: #define __PCLMUL__ 1
// CHECK_BDVER2_M32: #define __POPCNT__ 1
+// CHECK_BDVER2_M32: #define __PRFCHW__ 1
// CHECK_BDVER2_M32: #define __SSE2_MATH__ 1
// CHECK_BDVER2_M32: #define __SSE2__ 1
// CHECK_BDVER2_M32: #define __SSE3__ 1
@@ -1220,6 +1330,7 @@
// CHECK_BDVER2_M32: #define __SSE_MATH__ 1
// CHECK_BDVER2_M32: #define __SSE__ 1
// CHECK_BDVER2_M32: #define __SSSE3__ 1
+// CHECK_BDVER2_M32: #define __TBM__ 1
// CHECK_BDVER2_M32: #define __XOP__ 1
// CHECK_BDVER2_M32: #define __bdver2 1
// CHECK_BDVER2_M32: #define __bdver2__ 1
@@ -1241,6 +1352,7 @@
// CHECK_BDVER2_M64: #define __MMX__ 1
// CHECK_BDVER2_M64: #define __PCLMUL__ 1
// CHECK_BDVER2_M64: #define __POPCNT__ 1
+// CHECK_BDVER2_M64: #define __PRFCHW__ 1
// CHECK_BDVER2_M64: #define __SSE2_MATH__ 1
// CHECK_BDVER2_M64: #define __SSE2__ 1
// CHECK_BDVER2_M64: #define __SSE3__ 1
@@ -1250,6 +1362,7 @@
// CHECK_BDVER2_M64: #define __SSE_MATH__ 1
// CHECK_BDVER2_M64: #define __SSE__ 1
// CHECK_BDVER2_M64: #define __SSSE3__ 1
+// CHECK_BDVER2_M64: #define __TBM__ 1
// CHECK_BDVER2_M64: #define __XOP__ 1
// CHECK_BDVER2_M64: #define __amd64 1
// CHECK_BDVER2_M64: #define __amd64__ 1
@@ -1258,5 +1371,78 @@
// 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 %s -check-prefix=CHECK_BDVER3_M32
+// CHECK_BDVER3_M32-NOT: #define __3dNOW_A__ 1
+// CHECK_BDVER3_M32-NOT: #define __3dNOW__ 1
+// CHECK_BDVER3_M32: #define __AES__ 1
+// CHECK_BDVER3_M32: #define __AVX__ 1
+// CHECK_BDVER3_M32: #define __BMI__ 1
+// CHECK_BDVER3_M32: #define __F16C__ 1
+// CHECK_BDVER3_M32: #define __FMA4__ 1
+// CHECK_BDVER3_M32: #define __FMA__ 1
+// CHECK_BDVER3_M32: #define __LZCNT__ 1
+// CHECK_BDVER3_M32: #define __MMX__ 1
+// CHECK_BDVER3_M32: #define __PCLMUL__ 1
+// CHECK_BDVER3_M32: #define __POPCNT__ 1
+// CHECK_BDVER3_M32: #define __PRFCHW__ 1
+// CHECK_BDVER3_M32: #define __SSE2_MATH__ 1
+// CHECK_BDVER3_M32: #define __SSE2__ 1
+// CHECK_BDVER3_M32: #define __SSE3__ 1
+// CHECK_BDVER3_M32: #define __SSE4A__ 1
+// CHECK_BDVER3_M32: #define __SSE4_1__ 1
+// CHECK_BDVER3_M32: #define __SSE4_2__ 1
+// CHECK_BDVER3_M32: #define __SSE_MATH__ 1
+// CHECK_BDVER3_M32: #define __SSE__ 1
+// CHECK_BDVER3_M32: #define __SSSE3__ 1
+// CHECK_BDVER3_M32: #define __TBM__ 1
+// CHECK_BDVER3_M32: #define __XOP__ 1
+// CHECK_BDVER3_M32: #define __bdver3 1
+// CHECK_BDVER3_M32: #define __bdver3__ 1
+// 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 %s -check-prefix=CHECK_BDVER3_M64
+// CHECK_BDVER3_M64-NOT: #define __3dNOW_A__ 1
+// CHECK_BDVER3_M64-NOT: #define __3dNOW__ 1
+// CHECK_BDVER3_M64: #define __AES__ 1
+// CHECK_BDVER3_M64: #define __AVX__ 1
+// CHECK_BDVER3_M64: #define __BMI__ 1
+// CHECK_BDVER3_M64: #define __F16C__ 1
+// CHECK_BDVER3_M64: #define __FMA4__ 1
+// CHECK_BDVER3_M64: #define __FMA__ 1
+// CHECK_BDVER3_M64: #define __LZCNT__ 1
+// CHECK_BDVER3_M64: #define __MMX__ 1
+// CHECK_BDVER3_M64: #define __PCLMUL__ 1
+// CHECK_BDVER3_M64: #define __POPCNT__ 1
+// CHECK_BDVER3_M64: #define __PRFCHW__ 1
+// CHECK_BDVER3_M64: #define __SSE2_MATH__ 1
+// CHECK_BDVER3_M64: #define __SSE2__ 1
+// CHECK_BDVER3_M64: #define __SSE3__ 1
+// CHECK_BDVER3_M64: #define __SSE4A__ 1
+// CHECK_BDVER3_M64: #define __SSE4_1__ 1
+// CHECK_BDVER3_M64: #define __SSE4_2__ 1
+// CHECK_BDVER3_M64: #define __SSE_MATH__ 1
+// CHECK_BDVER3_M64: #define __SSE__ 1
+// CHECK_BDVER3_M64: #define __SSSE3__ 1
+// CHECK_BDVER3_M64: #define __TBM__ 1
+// CHECK_BDVER3_M64: #define __XOP__ 1
+// CHECK_BDVER3_M64: #define __amd64 1
+// CHECK_BDVER3_M64: #define __amd64__ 1
+// CHECK_BDVER3_M64: #define __bdver3 1
+// CHECK_BDVER3_M64: #define __bdver3__ 1
+// CHECK_BDVER3_M64: #define __tune_bdver3__ 1
+// CHECK_BDVER3_M64: #define __x86_64 1
+// CHECK_BDVER3_M64: #define __x86_64__ 1
//
// End X86/GCC/Linux tests ------------------
+
+// Begin PPC/GCC/Linux tests ----------------
+// RUN: %clang -mvsx -E -dM %s -o - 2>&1 \
+// RUN: -target powerpc64-unknown-linux \
+// RUN: | FileCheck %s -check-prefix=CHECK_PPC_VSX_M64
+//
+// CHECK_PPC_VSX_M64: #define __VSX__
OpenPOWER on IntegriCloud