diff options
Diffstat (limited to 'test/Preprocessor/predefined-arch-macros.c')
-rw-r--r-- | test/Preprocessor/predefined-arch-macros.c | 205 |
1 files changed, 197 insertions, 8 deletions
diff --git a/test/Preprocessor/predefined-arch-macros.c b/test/Preprocessor/predefined-arch-macros.c index b063f7f..2361abe 100644 --- a/test/Preprocessor/predefined-arch-macros.c +++ b/test/Preprocessor/predefined-arch-macros.c @@ -4,16 +4,19 @@ // Begin X86/GCC/Linux tests ---------------- // // RUN: %clang -march=i386 -m32 -E -dM %s -o - 2>&1 \ +// RUN: -target i386-unknown-linux \ // RUN: | FileCheck %s -check-prefix=CHECK_I386_M32 // CHECK_I386_M32: #define __i386 1 // 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: -target i386-unknown-linux \ // RUN: | FileCheck %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 %s -check-prefix=CHECK_I486_M32 // CHECK_I486_M32: #define __i386 1 // CHECK_I486_M32: #define __i386__ 1 @@ -22,10 +25,12 @@ // 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: -target i386-unknown-linux \ // RUN: | FileCheck %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 %s -check-prefix=CHECK_I586_M32 // CHECK_I586_M32: #define __i386 1 // CHECK_I586_M32: #define __i386__ 1 @@ -37,10 +42,12 @@ // 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: -target i386-unknown-linux \ // RUN: | FileCheck %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 %s -check-prefix=CHECK_PENTIUM_M32 // CHECK_PENTIUM_M32: #define __i386 1 // CHECK_PENTIUM_M32: #define __i386__ 1 @@ -52,10 +59,12 @@ // 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: -target i386-unknown-linux \ // RUN: | FileCheck %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 %s -check-prefix=CHECK_PENTIUM_MMX_M32 // CHECK_PENTIUM_MMX_M32: #define __MMX__ 1 // CHECK_PENTIUM_MMX_M32: #define __i386 1 @@ -70,10 +79,12 @@ // 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: -target i386-unknown-linux \ // RUN: | FileCheck %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 %s -check-prefix=CHECK_WINCHIP_C6_M32 // CHECK_WINCHIP_C6_M32: #define __MMX__ 1 // CHECK_WINCHIP_C6_M32: #define __i386 1 @@ -83,10 +94,12 @@ // 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: -target i386-unknown-linux \ // RUN: | FileCheck %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 %s -check-prefix=CHECK_WINCHIP2_M32 // CHECK_WINCHIP2_M32: #define __3dNOW__ 1 // CHECK_WINCHIP2_M32: #define __MMX__ 1 @@ -97,10 +110,12 @@ // 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: -target i386-unknown-linux \ // RUN: | FileCheck %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 %s -check-prefix=CHECK_C3_M32 // CHECK_C3_M32: #define __3dNOW__ 1 // CHECK_C3_M32: #define __MMX__ 1 @@ -111,10 +126,12 @@ // 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: -target i386-unknown-linux \ // RUN: | FileCheck %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 %s -check-prefix=CHECK_C3_2_M32 // CHECK_C3_2_M32: #define __MMX__ 1 // CHECK_C3_2_M32: #define __SSE__ 1 @@ -129,10 +146,12 @@ // 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: -target i386-unknown-linux \ // RUN: | FileCheck %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 %s -check-prefix=CHECK_I686_M32 // CHECK_I686_M32: #define __i386 1 // CHECK_I686_M32: #define __i386__ 1 @@ -142,10 +161,12 @@ // CHECK_I686_M32: #define __pentiumpro__ 1 // CHECK_I686_M32: #define i386 1 // RUN: %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: // // RUN: %clang -march=pentiumpro -m32 -E -dM %s -o - 2>&1 \ +// RUN: -target i386-unknown-linux \ // RUN: | FileCheck %s -check-prefix=CHECK_PENTIUMPRO_M32 // CHECK_PENTIUMPRO_M32: #define __i386 1 // CHECK_PENTIUMPRO_M32: #define __i386__ 1 @@ -157,10 +178,12 @@ // 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: -target i386-unknown-linux \ // RUN: | FileCheck %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 %s -check-prefix=CHECK_PENTIUM2_M32 // CHECK_PENTIUM2_M32: #define __MMX__ 1 // CHECK_PENTIUM2_M32: #define __i386 1 @@ -174,10 +197,12 @@ // 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: -target i386-unknown-linux \ // RUN: | FileCheck %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 %s -check-prefix=CHECK_PENTIUM3_M32 // CHECK_PENTIUM3_M32: #define __MMX__ 1 // CHECK_PENTIUM3_M32: #define __SSE__ 1 @@ -193,10 +218,12 @@ // 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: -target i386-unknown-linux \ // RUN: | FileCheck %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 %s -check-prefix=CHECK_PENTIUM3M_M32 // CHECK_PENTIUM3M_M32: #define __MMX__ 1 // CHECK_PENTIUM3M_M32: #define __SSE__ 1 @@ -210,10 +237,12 @@ // 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: -target i386-unknown-linux \ // RUN: | FileCheck %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 %s -check-prefix=CHECK_PENTIUM_M_M32 // CHECK_PENTIUM_M_M32: #define __MMX__ 1 // CHECK_PENTIUM_M_M32: #define __SSE2__ 1 @@ -228,10 +257,12 @@ // 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: -target i386-unknown-linux \ // RUN: | FileCheck %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 %s -check-prefix=CHECK_PENTIUM4_M32 // CHECK_PENTIUM4_M32: #define __MMX__ 1 // CHECK_PENTIUM4_M32: #define __SSE2__ 1 @@ -243,10 +274,12 @@ // 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: -target i386-unknown-linux \ // RUN: | FileCheck %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 %s -check-prefix=CHECK_PENTIUM4M_M32 // CHECK_PENTIUM4M_M32: #define __MMX__ 1 // CHECK_PENTIUM4M_M32: #define __SSE2__ 1 @@ -258,10 +291,12 @@ // 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: -target i386-unknown-linux \ // RUN: | FileCheck %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 %s -check-prefix=CHECK_PRESCOTT_M32 // CHECK_PRESCOTT_M32: #define __MMX__ 1 // CHECK_PRESCOTT_M32: #define __SSE2__ 1 @@ -274,10 +309,12 @@ // 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: -target i386-unknown-linux \ // RUN: | FileCheck %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 %s -check-prefix=CHECK_NOCONA_M32 // CHECK_NOCONA_M32: #define __MMX__ 1 // CHECK_NOCONA_M32: #define __SSE2__ 1 @@ -290,6 +327,7 @@ // CHECK_NOCONA_M32: #define __tune_nocona__ 1 // CHECK_NOCONA_M32: #define i386 1 // RUN: %clang -march=nocona -m64 -E -dM %s -o - 2>&1 \ +// RUN: -target i386-unknown-linux \ // RUN: | FileCheck %s -check-prefix=CHECK_NOCONA_M64 // CHECK_NOCONA_M64: #define __MMX__ 1 // CHECK_NOCONA_M64: #define __SSE2_MATH__ 1 @@ -306,6 +344,7 @@ // 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 %s -check-prefix=CHECK_CORE2_M32 // CHECK_CORE2_M32: #define __MMX__ 1 // CHECK_CORE2_M32: #define __SSE2__ 1 @@ -319,6 +358,7 @@ // 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 %s -check-prefix=CHECK_CORE2_M64 // CHECK_CORE2_M64: #define __MMX__ 1 // CHECK_CORE2_M64: #define __SSE2_MATH__ 1 @@ -336,8 +376,10 @@ // 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 %s -check-prefix=CHECK_COREI7_M32 // CHECK_COREI7_M32: #define __MMX__ 1 +// CHECK_COREI7_M32: #define __POPCNT__ 1 // CHECK_COREI7_M32: #define __SSE2__ 1 // CHECK_COREI7_M32: #define __SSE3__ 1 // CHECK_COREI7_M32: #define __SSE4_1__ 1 @@ -351,8 +393,10 @@ // 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 %s -check-prefix=CHECK_COREI7_M64 // CHECK_COREI7_M64: #define __MMX__ 1 +// CHECK_COREI7_M64: #define __POPCNT__ 1 // CHECK_COREI7_M64: #define __SSE2_MATH__ 1 // CHECK_COREI7_M64: #define __SSE2__ 1 // CHECK_COREI7_M64: #define __SSE3__ 1 @@ -370,11 +414,14 @@ // 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 %s -check-prefix=CHECK_COREI7_AVX_M32 // CHECK_COREI7_AVX_M32: #define __AES__ 1 -// FIXME: AVX is not yet enabled with Clang. -// CHECK_COREI7_AVX_M32-NOT: #define __AVX__ 1 +// CHECK_COREI7_AVX_M32: #define __AVX__ 1 // CHECK_COREI7_AVX_M32: #define __MMX__ 1 +// CHECK_COREI7_AVX_M32: #define __PCLMUL__ 1 +// CHECK_COREI7_AVX_M32-NOT: __RDRND__ +// CHECK_COREI7_AVX_M32: #define __POPCNT__ 1 // CHECK_COREI7_AVX_M32: #define __SSE2__ 1 // CHECK_COREI7_AVX_M32: #define __SSE3__ 1 // CHECK_COREI7_AVX_M32: #define __SSE4_1__ 1 @@ -388,11 +435,14 @@ // 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 %s -check-prefix=CHECK_COREI7_AVX_M64 // CHECK_COREI7_AVX_M64: #define __AES__ 1 -// FIXME: AVX is not yet enabled with Clang. -// CHECK_COREI7_AVX_M64-NOT: #define __AVX__ 1 +// CHECK_COREI7_AVX_M64: #define __AVX__ 1 // CHECK_COREI7_AVX_M64: #define __MMX__ 1 +// CHECK_COREI7_AVX_M64: #define __PCLMUL__ 1 +// CHECK_COREI7_AVX_M64-NOT: __RDRND__ +// CHECK_COREI7_AVX_M64: #define __POPCNT__ 1 // CHECK_COREI7_AVX_M64: #define __SSE2_MATH__ 1 // CHECK_COREI7_AVX_M64: #define __SSE2__ 1 // CHECK_COREI7_AVX_M64: #define __SSE3__ 1 @@ -410,11 +460,13 @@ // 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 %s -check-prefix=CHECK_CORE_AVX_I_M32 // CHECK_CORE_AVX_I_M32: #define __AES__ 1 -// FIXME: AVX is not yet enabled with Clang. -// CHECK_CORE_AVX_I_M32-NOT: #define __AVX__ 1 +// CHECK_CORE_AVX_I_M32: #define __AVX__ 1 // CHECK_CORE_AVX_I_M32: #define __MMX__ 1 +// CHECK_CORE_AVX_I_M32: #define __PCLMUL__ 1 +// CHECK_CORE_AVX_I_M32: #define __RDRND__ 1 // CHECK_CORE_AVX_I_M32: #define __SSE2__ 1 // CHECK_CORE_AVX_I_M32: #define __SSE3__ 1 // CHECK_CORE_AVX_I_M32: #define __SSE4_1__ 1 @@ -428,11 +480,13 @@ // 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 %s -check-prefix=CHECK_CORE_AVX_I_M64 // CHECK_CORE_AVX_I_M64: #define __AES__ 1 -// FIXME: AVX is not yet enabled with Clang. -// CHECK_CORE_AVX_I_M64-NOT: #define __AVX__ 1 +// CHECK_CORE_AVX_I_M64: #define __AVX__ 1 // CHECK_CORE_AVX_I_M64: #define __MMX__ 1 +// CHECK_CORE_AVX_I_M64: #define __PCLMUL__ 1 +// CHECK_CORE_AVX_I_M64: #define __RDRND__ 1 // CHECK_CORE_AVX_I_M64: #define __SSE2_MATH__ 1 // CHECK_CORE_AVX_I_M64: #define __SSE2__ 1 // CHECK_CORE_AVX_I_M64: #define __SSE3__ 1 @@ -449,7 +503,62 @@ // 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 %s -check-prefix=CHECK_CORE_AVX2_M32 +// CHECK_CORE_AVX2_M32: #define __AES__ 1 +// CHECK_CORE_AVX2_M32: #define __AVX__ 1 +// CHECK_CORE_AVX2_M32: #define __BMI2__ 1 +// CHECK_CORE_AVX2_M32: #define __BMI__ 1 +// CHECK_CORE_AVX2_M32: #define __FMA__ 1 +// CHECK_CORE_AVX2_M32: #define __LZCNT__ 1 +// CHECK_CORE_AVX2_M32: #define __MMX__ 1 +// CHECK_CORE_AVX2_M32: #define __PCLMUL__ 1 +// CHECK_CORE_AVX2_M32: #define __POPCNT__ 1 +// CHECK_CORE_AVX2_M32: #define __RDRND__ 1 +// CHECK_CORE_AVX2_M32: #define __SSE2__ 1 +// CHECK_CORE_AVX2_M32: #define __SSE3__ 1 +// CHECK_CORE_AVX2_M32: #define __SSE4_1__ 1 +// CHECK_CORE_AVX2_M32: #define __SSE4_2__ 1 +// CHECK_CORE_AVX2_M32: #define __SSE__ 1 +// CHECK_CORE_AVX2_M32: #define __SSSE3__ 1 +// CHECK_CORE_AVX2_M32: #define __corei7 1 +// CHECK_CORE_AVX2_M32: #define __corei7__ 1 +// CHECK_CORE_AVX2_M32: #define __i386 1 +// 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 %s -check-prefix=CHECK_CORE_AVX2_M64 +// CHECK_CORE_AVX2_M64: #define __AES__ 1 +// CHECK_CORE_AVX2_M64: #define __AVX__ 1 +// CHECK_CORE_AVX2_M64: #define __BMI2__ 1 +// CHECK_CORE_AVX2_M64: #define __BMI__ 1 +// CHECK_CORE_AVX2_M64: #define __FMA__ 1 +// CHECK_CORE_AVX2_M64: #define __LZCNT__ 1 +// CHECK_CORE_AVX2_M64: #define __MMX__ 1 +// CHECK_CORE_AVX2_M64: #define __PCLMUL__ 1 +// CHECK_CORE_AVX2_M64: #define __POPCNT__ 1 +// CHECK_CORE_AVX2_M64: #define __RDRND__ 1 +// CHECK_CORE_AVX2_M64: #define __SSE2_MATH__ 1 +// CHECK_CORE_AVX2_M64: #define __SSE2__ 1 +// CHECK_CORE_AVX2_M64: #define __SSE3__ 1 +// CHECK_CORE_AVX2_M64: #define __SSE4_1__ 1 +// CHECK_CORE_AVX2_M64: #define __SSE4_2__ 1 +// CHECK_CORE_AVX2_M64: #define __SSE_MATH__ 1 +// CHECK_CORE_AVX2_M64: #define __SSE__ 1 +// CHECK_CORE_AVX2_M64: #define __SSSE3__ 1 +// CHECK_CORE_AVX2_M64: #define __amd64 1 +// CHECK_CORE_AVX2_M64: #define __amd64__ 1 +// CHECK_CORE_AVX2_M64: #define __corei7 1 +// CHECK_CORE_AVX2_M64: #define __corei7__ 1 +// 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=atom -m32 -E -dM %s -o - 2>&1 \ +// RUN: -target i386-unknown-linux \ // RUN: | FileCheck %s -check-prefix=CHECK_ATOM_M32 // CHECK_ATOM_M32: #define __MMX__ 1 // CHECK_ATOM_M32: #define __SSE2__ 1 @@ -463,6 +572,7 @@ // 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 %s -check-prefix=CHECK_ATOM_M64 // CHECK_ATOM_M64: #define __MMX__ 1 // CHECK_ATOM_M64: #define __SSE2_MATH__ 1 @@ -480,6 +590,7 @@ // CHECK_ATOM_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 // CHECK_GEODE_M32: #define __3dNOW_A__ 1 // CHECK_GEODE_M32: #define __3dNOW__ 1 @@ -491,10 +602,12 @@ // 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: -target i386-unknown-linux \ // RUN: | FileCheck %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 %s -check-prefix=CHECK_K6_M32 // CHECK_K6_M32: #define __MMX__ 1 // CHECK_K6_M32: #define __i386 1 @@ -504,10 +617,12 @@ // 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: -target i386-unknown-linux \ // RUN: | FileCheck %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 %s -check-prefix=CHECK_K6_2_M32 // CHECK_K6_2_M32: #define __3dNOW__ 1 // CHECK_K6_2_M32: #define __MMX__ 1 @@ -520,10 +635,12 @@ // 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: -target i386-unknown-linux \ // RUN: | FileCheck %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 %s -check-prefix=CHECK_K6_3_M32 // CHECK_K6_3_M32: #define __3dNOW__ 1 // CHECK_K6_3_M32: #define __MMX__ 1 @@ -536,10 +653,12 @@ // 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: -target i386-unknown-linux \ // RUN: | FileCheck %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 %s -check-prefix=CHECK_ATHLON_M32 // CHECK_ATHLON_M32: #define __3dNOW_A__ 1 // CHECK_ATHLON_M32: #define __3dNOW__ 1 @@ -551,10 +670,12 @@ // 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: -target i386-unknown-linux \ // RUN: | FileCheck %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 %s -check-prefix=CHECK_ATHLON_TBIRD_M32 // CHECK_ATHLON_TBIRD_M32: #define __3dNOW_A__ 1 // CHECK_ATHLON_TBIRD_M32: #define __3dNOW__ 1 @@ -566,10 +687,12 @@ // 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: -target i386-unknown-linux \ // RUN: | FileCheck %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 %s -check-prefix=CHECK_ATHLON_4_M32 // CHECK_ATHLON_4_M32: #define __3dNOW_A__ 1 // CHECK_ATHLON_4_M32: #define __3dNOW__ 1 @@ -584,10 +707,12 @@ // 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: -target i386-unknown-linux \ // RUN: | FileCheck %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 %s -check-prefix=CHECK_ATHLON_XP_M32 // CHECK_ATHLON_XP_M32: #define __3dNOW_A__ 1 // CHECK_ATHLON_XP_M32: #define __3dNOW__ 1 @@ -602,10 +727,12 @@ // 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: -target i386-unknown-linux \ // RUN: | FileCheck %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 %s -check-prefix=CHECK_ATHLON_MP_M32 // CHECK_ATHLON_MP_M32: #define __3dNOW_A__ 1 // CHECK_ATHLON_MP_M32: #define __3dNOW__ 1 @@ -620,10 +747,12 @@ // 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: -target i386-unknown-linux \ // RUN: | FileCheck %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 %s -check-prefix=CHECK_X86_64_M32 // CHECK_X86_64_M32: #define __MMX__ 1 // CHECK_X86_64_M32: #define __SSE2__ 1 @@ -634,6 +763,7 @@ // 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 %s -check-prefix=CHECK_X86_64_M64 // CHECK_X86_64_M64: #define __MMX__ 1 // CHECK_X86_64_M64: #define __SSE2_MATH__ 1 @@ -648,6 +778,7 @@ // 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 %s -check-prefix=CHECK_K8_M32 // CHECK_K8_M32: #define __3dNOW_A__ 1 // CHECK_K8_M32: #define __3dNOW__ 1 @@ -661,6 +792,7 @@ // 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 %s -check-prefix=CHECK_K8_M64 // CHECK_K8_M64: #define __3dNOW_A__ 1 // CHECK_K8_M64: #define __3dNOW__ 1 @@ -678,6 +810,7 @@ // 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 %s -check-prefix=CHECK_K8_SSE3_M32 // CHECK_K8_SSE3_M32: #define __3dNOW_A__ 1 // CHECK_K8_SSE3_M32: #define __3dNOW__ 1 @@ -692,6 +825,7 @@ // 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 %s -check-prefix=CHECK_K8_SSE3_M64 // CHECK_K8_SSE3_M64: #define __3dNOW_A__ 1 // CHECK_K8_SSE3_M64: #define __3dNOW__ 1 @@ -710,6 +844,7 @@ // 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 %s -check-prefix=CHECK_OPTERON_M32 // CHECK_OPTERON_M32: #define __3dNOW_A__ 1 // CHECK_OPTERON_M32: #define __3dNOW__ 1 @@ -723,6 +858,7 @@ // 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 %s -check-prefix=CHECK_OPTERON_M64 // CHECK_OPTERON_M64: #define __3dNOW_A__ 1 // CHECK_OPTERON_M64: #define __3dNOW__ 1 @@ -740,6 +876,7 @@ // 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 %s -check-prefix=CHECK_OPTERON_SSE3_M32 // CHECK_OPTERON_SSE3_M32: #define __3dNOW_A__ 1 // CHECK_OPTERON_SSE3_M32: #define __3dNOW__ 1 @@ -754,6 +891,7 @@ // 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 %s -check-prefix=CHECK_OPTERON_SSE3_M64 // CHECK_OPTERON_SSE3_M64: #define __3dNOW_A__ 1 // CHECK_OPTERON_SSE3_M64: #define __3dNOW__ 1 @@ -772,6 +910,7 @@ // 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 %s -check-prefix=CHECK_ATHLON64_M32 // CHECK_ATHLON64_M32: #define __3dNOW_A__ 1 // CHECK_ATHLON64_M32: #define __3dNOW__ 1 @@ -785,6 +924,7 @@ // 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 %s -check-prefix=CHECK_ATHLON64_M64 // CHECK_ATHLON64_M64: #define __3dNOW_A__ 1 // CHECK_ATHLON64_M64: #define __3dNOW__ 1 @@ -802,6 +942,7 @@ // 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 %s -check-prefix=CHECK_ATHLON64_SSE3_M32 // CHECK_ATHLON64_SSE3_M32: #define __3dNOW_A__ 1 // CHECK_ATHLON64_SSE3_M32: #define __3dNOW__ 1 @@ -816,6 +957,7 @@ // 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 %s -check-prefix=CHECK_ATHLON64_SSE3_M64 // CHECK_ATHLON64_SSE3_M64: #define __3dNOW_A__ 1 // CHECK_ATHLON64_SSE3_M64: #define __3dNOW__ 1 @@ -834,6 +976,7 @@ // 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 %s -check-prefix=CHECK_ATHLON_FX_M32 // CHECK_ATHLON_FX_M32: #define __3dNOW_A__ 1 // CHECK_ATHLON_FX_M32: #define __3dNOW__ 1 @@ -847,6 +990,7 @@ // 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 %s -check-prefix=CHECK_ATHLON_FX_M64 // CHECK_ATHLON_FX_M64: #define __3dNOW_A__ 1 // CHECK_ATHLON_FX_M64: #define __3dNOW__ 1 @@ -862,5 +1006,50 @@ // 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 -m64 -E -dM %s -o - 2>&1 \ +// RUN: -target i386-unknown-linux \ +// RUN: | FileCheck %s -check-prefix=CHECK_AMDFAM10_M64 +// CHECK_AMDFAM10_M64: #define __3dNOW_A__ 1 +// CHECK_AMDFAM10_M64: #define __3dNOW__ 1 +// CHECK_AMDFAM10_M64: #define __MMX__ 1 +// CHECK_AMDFAM10_M64: #define __SSE2_MATH__ 1 +// CHECK_AMDFAM10_M64: #define __SSE2__ 1 +// CHECK_AMDFAM10_M64: #define __SSE3__ 1 +// CHECK_AMDFAM10_M64: #define __SSE4A__ 1 +// CHECK_AMDFAM10_M64: #define __SSE_MATH__ 1 +// CHECK_AMDFAM10_M64: #define __SSE__ 1 +// CHECK_AMDFAM10_M64: #define __amd64 1 +// CHECK_AMDFAM10_M64: #define __amd64__ 1 +// CHECK_AMDFAM10_M64: #define __amdfam10 1 +// CHECK_AMDFAM10_M64: #define __amdfam10__ 1 +// CHECK_AMDFAM10_M64: #define __tune_amdfam10__ 1 +// CHECK_AMDFAM10_M64: #define __x86_64 1 +// CHECK_AMDFAM10_M64: #define __x86_64__ 1 +// RUN: %clang -march=bdver1 -m64 -E -dM %s -o - 2>&1 \ +// RUN: -target i386-unknown-linux \ +// RUN: | FileCheck %s -check-prefix=CHECK_BDVER1_M64 +// CHECK_BDVER1_M64: #define __AVX__ 1 +// CHECK_BDVER1_M64-NOT: #define __3dNOW_A__ 1 +// CHECK_BDVER1_M64-NOT: #define __3dNOW__ 1 +// CHECK_BDVER1_M64: #define __FMA4__ 1 +// CHECK_BDVER1_M64: #define __MMX__ 1 +// CHECK_BDVER1_M64: #define __PCLMUL__ 1 +// CHECK_BDVER1_M64: #define __SSE2_MATH__ 1 +// CHECK_BDVER1_M64: #define __SSE2__ 1 +// CHECK_BDVER1_M64: #define __SSE3__ 1 +// CHECK_BDVER1_M64: #define __SSE4A__ 1 +// CHECK_BDVER1_M64: #define __SSE4_1__ 1 +// CHECK_BDVER1_M64: #define __SSE4_2__ 1 +// CHECK_BDVER1_M64: #define __SSE_MATH__ 1 +// CHECK_BDVER1_M64: #define __SSE__ 1 +// CHECK_BDVER1_M64: #define __SSSE3__ 1 +// CHECK_BDVER1_M64: #define __XOP__ 1 +// CHECK_BDVER1_M64: #define __amd64 1 +// CHECK_BDVER1_M64: #define __amd64__ 1 +// CHECK_BDVER1_M64: #define __bdver1 1 +// CHECK_BDVER1_M64: #define __bdver1__ 1 +// CHECK_BDVER1_M64: #define __tune_bdver1__ 1 +// CHECK_BDVER1_M64: #define __x86_64 1 +// CHECK_BDVER1_M64: #define __x86_64__ 1 // // End X86/GCC/Linux tests ------------------ |