diff options
Diffstat (limited to 'test/Preprocessor/predefined-arch-macros.c')
-rw-r--r-- | test/Preprocessor/predefined-arch-macros.c | 246 |
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__ |