1// These tests are generated by running utils/generate_arch_predefine_tests.sh 2// to observe GCC's behavior (or some other system compiler's behavior). 3// 4// Begin X86/GCC/Linux tests ---------------- 5// 6// RUN: %clang -march=i386 -m32 -E -dM %s -o - 2>&1 \ 7// RUN: | FileCheck %s -check-prefix=CHECK_I386_M32 8// CHECK_I386_M32: #define __i386 1 9// CHECK_I386_M32: #define __i386__ 1 10// CHECK_I386_M32: #define __tune_i386__ 1 11// CHECK_I386_M32: #define i386 1 12// RUN: %clang -march=i386 -m64 -E -dM %s -o - 2>&1 \ 13// RUN: | FileCheck %s -check-prefix=CHECK_I386_M64 14// CHECK_I386_M64: error: 15// 16// RUN: %clang -march=i486 -m32 -E -dM %s -o - 2>&1 \ 17// RUN: | FileCheck %s -check-prefix=CHECK_I486_M32 18// CHECK_I486_M32: #define __i386 1 19// CHECK_I486_M32: #define __i386__ 1 20// CHECK_I486_M32: #define __i486 1 21// CHECK_I486_M32: #define __i486__ 1 22// CHECK_I486_M32: #define __tune_i486__ 1 23// CHECK_I486_M32: #define i386 1 24// RUN: %clang -march=i486 -m64 -E -dM %s -o - 2>&1 \ 25// RUN: | FileCheck %s -check-prefix=CHECK_I486_M64 26// CHECK_I486_M64: error: 27// 28// RUN: %clang -march=i586 -m32 -E -dM %s -o - 2>&1 \ 29// RUN: | FileCheck %s -check-prefix=CHECK_I586_M32 30// CHECK_I586_M32: #define __i386 1 31// CHECK_I586_M32: #define __i386__ 1 32// CHECK_I586_M32: #define __i586 1 33// CHECK_I586_M32: #define __i586__ 1 34// CHECK_I586_M32: #define __pentium 1 35// CHECK_I586_M32: #define __pentium__ 1 36// CHECK_I586_M32: #define __tune_i586__ 1 37// CHECK_I586_M32: #define __tune_pentium__ 1 38// CHECK_I586_M32: #define i386 1 39// RUN: %clang -march=i586 -m64 -E -dM %s -o - 2>&1 \ 40// RUN: | FileCheck %s -check-prefix=CHECK_I586_M64 41// CHECK_I586_M64: error: 42// 43// RUN: %clang -march=pentium -m32 -E -dM %s -o - 2>&1 \ 44// RUN: | FileCheck %s -check-prefix=CHECK_PENTIUM_M32 45// CHECK_PENTIUM_M32: #define __i386 1 46// CHECK_PENTIUM_M32: #define __i386__ 1 47// CHECK_PENTIUM_M32: #define __i586 1 48// CHECK_PENTIUM_M32: #define __i586__ 1 49// CHECK_PENTIUM_M32: #define __pentium 1 50// CHECK_PENTIUM_M32: #define __pentium__ 1 51// CHECK_PENTIUM_M32: #define __tune_i586__ 1 52// CHECK_PENTIUM_M32: #define __tune_pentium__ 1 53// CHECK_PENTIUM_M32: #define i386 1 54// RUN: %clang -march=pentium -m64 -E -dM %s -o - 2>&1 \ 55// RUN: | FileCheck %s -check-prefix=CHECK_PENTIUM_M64 56// CHECK_PENTIUM_M64: error: 57// 58// RUN: %clang -march=pentium-mmx -m32 -E -dM %s -o - 2>&1 \ 59// RUN: | FileCheck %s -check-prefix=CHECK_PENTIUM_MMX_M32 60// CHECK_PENTIUM_MMX_M32: #define __MMX__ 1 61// CHECK_PENTIUM_MMX_M32: #define __i386 1 62// CHECK_PENTIUM_MMX_M32: #define __i386__ 1 63// CHECK_PENTIUM_MMX_M32: #define __i586 1 64// CHECK_PENTIUM_MMX_M32: #define __i586__ 1 65// CHECK_PENTIUM_MMX_M32: #define __pentium 1 66// CHECK_PENTIUM_MMX_M32: #define __pentium__ 1 67// CHECK_PENTIUM_MMX_M32: #define __pentium_mmx__ 1 68// CHECK_PENTIUM_MMX_M32: #define __tune_i586__ 1 69// CHECK_PENTIUM_MMX_M32: #define __tune_pentium__ 1 70// CHECK_PENTIUM_MMX_M32: #define __tune_pentium_mmx__ 1 71// CHECK_PENTIUM_MMX_M32: #define i386 1 72// RUN: %clang -march=pentium-mmx -m64 -E -dM %s -o - 2>&1 \ 73// RUN: | FileCheck %s -check-prefix=CHECK_PENTIUM_MMX_M64 74// CHECK_PENTIUM_MMX_M64: error: 75// 76// RUN: %clang -march=winchip-c6 -m32 -E -dM %s -o - 2>&1 \ 77// RUN: | FileCheck %s -check-prefix=CHECK_WINCHIP_C6_M32 78// CHECK_WINCHIP_C6_M32: #define __MMX__ 1 79// CHECK_WINCHIP_C6_M32: #define __i386 1 80// CHECK_WINCHIP_C6_M32: #define __i386__ 1 81// CHECK_WINCHIP_C6_M32: #define __i486 1 82// CHECK_WINCHIP_C6_M32: #define __i486__ 1 83// CHECK_WINCHIP_C6_M32: #define __tune_i486__ 1 84// CHECK_WINCHIP_C6_M32: #define i386 1 85// RUN: %clang -march=winchip-c6 -m64 -E -dM %s -o - 2>&1 \ 86// RUN: | FileCheck %s -check-prefix=CHECK_WINCHIP_C6_M64 87// CHECK_WINCHIP_C6_M64: error: 88// 89// RUN: %clang -march=winchip2 -m32 -E -dM %s -o - 2>&1 \ 90// RUN: | FileCheck %s -check-prefix=CHECK_WINCHIP2_M32 91// CHECK_WINCHIP2_M32: #define __3dNOW__ 1 92// CHECK_WINCHIP2_M32: #define __MMX__ 1 93// CHECK_WINCHIP2_M32: #define __i386 1 94// CHECK_WINCHIP2_M32: #define __i386__ 1 95// CHECK_WINCHIP2_M32: #define __i486 1 96// CHECK_WINCHIP2_M32: #define __i486__ 1 97// CHECK_WINCHIP2_M32: #define __tune_i486__ 1 98// CHECK_WINCHIP2_M32: #define i386 1 99// RUN: %clang -march=winchip2 -m64 -E -dM %s -o - 2>&1 \ 100// RUN: | FileCheck %s -check-prefix=CHECK_WINCHIP2_M64 101// CHECK_WINCHIP2_M64: error: 102// 103// RUN: %clang -march=c3 -m32 -E -dM %s -o - 2>&1 \ 104// RUN: | FileCheck %s -check-prefix=CHECK_C3_M32 105// CHECK_C3_M32: #define __3dNOW__ 1 106// CHECK_C3_M32: #define __MMX__ 1 107// CHECK_C3_M32: #define __i386 1 108// CHECK_C3_M32: #define __i386__ 1 109// CHECK_C3_M32: #define __i486 1 110// CHECK_C3_M32: #define __i486__ 1 111// CHECK_C3_M32: #define __tune_i486__ 1 112// CHECK_C3_M32: #define i386 1 113// RUN: %clang -march=c3 -m64 -E -dM %s -o - 2>&1 \ 114// RUN: | FileCheck %s -check-prefix=CHECK_C3_M64 115// CHECK_C3_M64: error: 116// 117// RUN: %clang -march=c3-2 -m32 -E -dM %s -o - 2>&1 \ 118// RUN: | FileCheck %s -check-prefix=CHECK_C3_2_M32 119// CHECK_C3_2_M32: #define __MMX__ 1 120// CHECK_C3_2_M32: #define __SSE__ 1 121// CHECK_C3_2_M32: #define __i386 1 122// CHECK_C3_2_M32: #define __i386__ 1 123// CHECK_C3_2_M32: #define __i686 1 124// CHECK_C3_2_M32: #define __i686__ 1 125// CHECK_C3_2_M32: #define __pentiumpro 1 126// CHECK_C3_2_M32: #define __pentiumpro__ 1 127// CHECK_C3_2_M32: #define __tune_i686__ 1 128// CHECK_C3_2_M32: #define __tune_pentium2__ 1 129// CHECK_C3_2_M32: #define __tune_pentiumpro__ 1 130// CHECK_C3_2_M32: #define i386 1 131// RUN: %clang -march=c3-2 -m64 -E -dM %s -o - 2>&1 \ 132// RUN: | FileCheck %s -check-prefix=CHECK_C3_2_M64 133// CHECK_C3_2_M64: error: 134// 135// RUN: %clang -march=i686 -m32 -E -dM %s -o - 2>&1 \ 136// RUN: | FileCheck %s -check-prefix=CHECK_I686_M32 137// CHECK_I686_M32: #define __i386 1 138// CHECK_I686_M32: #define __i386__ 1 139// CHECK_I686_M32: #define __i686 1 140// CHECK_I686_M32: #define __i686__ 1 141// CHECK_I686_M32: #define __pentiumpro 1 142// CHECK_I686_M32: #define __pentiumpro__ 1 143// CHECK_I686_M32: #define i386 1 144// RUN: %clang -march=i686 -m64 -E -dM %s -o - 2>&1 \ 145// RUN: | FileCheck %s -check-prefix=CHECK_I686_M64 146// CHECK_I686_M64: error: 147// 148// RUN: %clang -march=pentiumpro -m32 -E -dM %s -o - 2>&1 \ 149// RUN: | FileCheck %s -check-prefix=CHECK_PENTIUMPRO_M32 150// CHECK_PENTIUMPRO_M32: #define __i386 1 151// CHECK_PENTIUMPRO_M32: #define __i386__ 1 152// CHECK_PENTIUMPRO_M32: #define __i686 1 153// CHECK_PENTIUMPRO_M32: #define __i686__ 1 154// CHECK_PENTIUMPRO_M32: #define __pentiumpro 1 155// CHECK_PENTIUMPRO_M32: #define __pentiumpro__ 1 156// CHECK_PENTIUMPRO_M32: #define __tune_i686__ 1 157// CHECK_PENTIUMPRO_M32: #define __tune_pentiumpro__ 1 158// CHECK_PENTIUMPRO_M32: #define i386 1 159// RUN: %clang -march=pentiumpro -m64 -E -dM %s -o - 2>&1 \ 160// RUN: | FileCheck %s -check-prefix=CHECK_PENTIUMPRO_M64 161// CHECK_PENTIUMPRO_M64: error: 162// 163// RUN: %clang -march=pentium2 -m32 -E -dM %s -o - 2>&1 \ 164// RUN: | FileCheck %s -check-prefix=CHECK_PENTIUM2_M32 165// CHECK_PENTIUM2_M32: #define __MMX__ 1 166// CHECK_PENTIUM2_M32: #define __i386 1 167// CHECK_PENTIUM2_M32: #define __i386__ 1 168// CHECK_PENTIUM2_M32: #define __i686 1 169// CHECK_PENTIUM2_M32: #define __i686__ 1 170// CHECK_PENTIUM2_M32: #define __pentiumpro 1 171// CHECK_PENTIUM2_M32: #define __pentiumpro__ 1 172// CHECK_PENTIUM2_M32: #define __tune_i686__ 1 173// CHECK_PENTIUM2_M32: #define __tune_pentium2__ 1 174// CHECK_PENTIUM2_M32: #define __tune_pentiumpro__ 1 175// CHECK_PENTIUM2_M32: #define i386 1 176// RUN: %clang -march=pentium2 -m64 -E -dM %s -o - 2>&1 \ 177// RUN: | FileCheck %s -check-prefix=CHECK_PENTIUM2_M64 178// CHECK_PENTIUM2_M64: error: 179// 180// RUN: %clang -march=pentium3 -m32 -E -dM %s -o - 2>&1 \ 181// RUN: | FileCheck %s -check-prefix=CHECK_PENTIUM3_M32 182// CHECK_PENTIUM3_M32: #define __MMX__ 1 183// CHECK_PENTIUM3_M32: #define __SSE__ 1 184// CHECK_PENTIUM3_M32: #define __i386 1 185// CHECK_PENTIUM3_M32: #define __i386__ 1 186// CHECK_PENTIUM3_M32: #define __i686 1 187// CHECK_PENTIUM3_M32: #define __i686__ 1 188// CHECK_PENTIUM3_M32: #define __pentiumpro 1 189// CHECK_PENTIUM3_M32: #define __pentiumpro__ 1 190// CHECK_PENTIUM3_M32: #define __tune_i686__ 1 191// CHECK_PENTIUM3_M32: #define __tune_pentium2__ 1 192// CHECK_PENTIUM3_M32: #define __tune_pentium3__ 1 193// CHECK_PENTIUM3_M32: #define __tune_pentiumpro__ 1 194// CHECK_PENTIUM3_M32: #define i386 1 195// RUN: %clang -march=pentium3 -m64 -E -dM %s -o - 2>&1 \ 196// RUN: | FileCheck %s -check-prefix=CHECK_PENTIUM3_M64 197// CHECK_PENTIUM3_M64: error: 198// 199// RUN: %clang -march=pentium3m -m32 -E -dM %s -o - 2>&1 \ 200// RUN: | FileCheck %s -check-prefix=CHECK_PENTIUM3M_M32 201// CHECK_PENTIUM3M_M32: #define __MMX__ 1 202// CHECK_PENTIUM3M_M32: #define __SSE__ 1 203// CHECK_PENTIUM3M_M32: #define __i386 1 204// CHECK_PENTIUM3M_M32: #define __i386__ 1 205// CHECK_PENTIUM3M_M32: #define __i686 1 206// CHECK_PENTIUM3M_M32: #define __i686__ 1 207// CHECK_PENTIUM3M_M32: #define __pentiumpro 1 208// CHECK_PENTIUM3M_M32: #define __pentiumpro__ 1 209// CHECK_PENTIUM3M_M32: #define __tune_i686__ 1 210// CHECK_PENTIUM3M_M32: #define __tune_pentiumpro__ 1 211// CHECK_PENTIUM3M_M32: #define i386 1 212// RUN: %clang -march=pentium3m -m64 -E -dM %s -o - 2>&1 \ 213// RUN: | FileCheck %s -check-prefix=CHECK_PENTIUM3M_M64 214// CHECK_PENTIUM3M_M64: error: 215// 216// RUN: %clang -march=pentium-m -m32 -E -dM %s -o - 2>&1 \ 217// RUN: | FileCheck %s -check-prefix=CHECK_PENTIUM_M_M32 218// CHECK_PENTIUM_M_M32: #define __MMX__ 1 219// CHECK_PENTIUM_M_M32: #define __SSE2__ 1 220// CHECK_PENTIUM_M_M32: #define __SSE__ 1 221// CHECK_PENTIUM_M_M32: #define __i386 1 222// CHECK_PENTIUM_M_M32: #define __i386__ 1 223// CHECK_PENTIUM_M_M32: #define __i686 1 224// CHECK_PENTIUM_M_M32: #define __i686__ 1 225// CHECK_PENTIUM_M_M32: #define __pentiumpro 1 226// CHECK_PENTIUM_M_M32: #define __pentiumpro__ 1 227// CHECK_PENTIUM_M_M32: #define __tune_i686__ 1 228// CHECK_PENTIUM_M_M32: #define __tune_pentiumpro__ 1 229// CHECK_PENTIUM_M_M32: #define i386 1 230// RUN: %clang -march=pentium-m -m64 -E -dM %s -o - 2>&1 \ 231// RUN: | FileCheck %s -check-prefix=CHECK_PENTIUM_M_M64 232// CHECK_PENTIUM_M_M64: error: 233// 234// RUN: %clang -march=pentium4 -m32 -E -dM %s -o - 2>&1 \ 235// RUN: | FileCheck %s -check-prefix=CHECK_PENTIUM4_M32 236// CHECK_PENTIUM4_M32: #define __MMX__ 1 237// CHECK_PENTIUM4_M32: #define __SSE2__ 1 238// CHECK_PENTIUM4_M32: #define __SSE__ 1 239// CHECK_PENTIUM4_M32: #define __i386 1 240// CHECK_PENTIUM4_M32: #define __i386__ 1 241// CHECK_PENTIUM4_M32: #define __pentium4 1 242// CHECK_PENTIUM4_M32: #define __pentium4__ 1 243// CHECK_PENTIUM4_M32: #define __tune_pentium4__ 1 244// CHECK_PENTIUM4_M32: #define i386 1 245// RUN: %clang -march=pentium4 -m64 -E -dM %s -o - 2>&1 \ 246// RUN: | FileCheck %s -check-prefix=CHECK_PENTIUM4_M64 247// CHECK_PENTIUM4_M64: error: 248// 249// RUN: %clang -march=pentium4m -m32 -E -dM %s -o - 2>&1 \ 250// RUN: | FileCheck %s -check-prefix=CHECK_PENTIUM4M_M32 251// CHECK_PENTIUM4M_M32: #define __MMX__ 1 252// CHECK_PENTIUM4M_M32: #define __SSE2__ 1 253// CHECK_PENTIUM4M_M32: #define __SSE__ 1 254// CHECK_PENTIUM4M_M32: #define __i386 1 255// CHECK_PENTIUM4M_M32: #define __i386__ 1 256// CHECK_PENTIUM4M_M32: #define __pentium4 1 257// CHECK_PENTIUM4M_M32: #define __pentium4__ 1 258// CHECK_PENTIUM4M_M32: #define __tune_pentium4__ 1 259// CHECK_PENTIUM4M_M32: #define i386 1 260// RUN: %clang -march=pentium4m -m64 -E -dM %s -o - 2>&1 \ 261// RUN: | FileCheck %s -check-prefix=CHECK_PENTIUM4M_M64 262// CHECK_PENTIUM4M_M64: error: 263// 264// RUN: %clang -march=prescott -m32 -E -dM %s -o - 2>&1 \ 265// RUN: | FileCheck %s -check-prefix=CHECK_PRESCOTT_M32 266// CHECK_PRESCOTT_M32: #define __MMX__ 1 267// CHECK_PRESCOTT_M32: #define __SSE2__ 1 268// CHECK_PRESCOTT_M32: #define __SSE3__ 1 269// CHECK_PRESCOTT_M32: #define __SSE__ 1 270// CHECK_PRESCOTT_M32: #define __i386 1 271// CHECK_PRESCOTT_M32: #define __i386__ 1 272// CHECK_PRESCOTT_M32: #define __nocona 1 273// CHECK_PRESCOTT_M32: #define __nocona__ 1 274// CHECK_PRESCOTT_M32: #define __tune_nocona__ 1 275// CHECK_PRESCOTT_M32: #define i386 1 276// RUN: %clang -march=prescott -m64 -E -dM %s -o - 2>&1 \ 277// RUN: | FileCheck %s -check-prefix=CHECK_PRESCOTT_M64 278// CHECK_PRESCOTT_M64: error: 279// 280// RUN: %clang -march=nocona -m32 -E -dM %s -o - 2>&1 \ 281// RUN: | FileCheck %s -check-prefix=CHECK_NOCONA_M32 282// CHECK_NOCONA_M32: #define __MMX__ 1 283// CHECK_NOCONA_M32: #define __SSE2__ 1 284// CHECK_NOCONA_M32: #define __SSE3__ 1 285// CHECK_NOCONA_M32: #define __SSE__ 1 286// CHECK_NOCONA_M32: #define __i386 1 287// CHECK_NOCONA_M32: #define __i386__ 1 288// CHECK_NOCONA_M32: #define __nocona 1 289// CHECK_NOCONA_M32: #define __nocona__ 1 290// CHECK_NOCONA_M32: #define __tune_nocona__ 1 291// CHECK_NOCONA_M32: #define i386 1 292// RUN: %clang -march=nocona -m64 -E -dM %s -o - 2>&1 \ 293// RUN: | FileCheck %s -check-prefix=CHECK_NOCONA_M64 294// CHECK_NOCONA_M64: #define __MMX__ 1 295// CHECK_NOCONA_M64: #define __SSE2_MATH__ 1 296// CHECK_NOCONA_M64: #define __SSE2__ 1 297// CHECK_NOCONA_M64: #define __SSE3__ 1 298// CHECK_NOCONA_M64: #define __SSE_MATH__ 1 299// CHECK_NOCONA_M64: #define __SSE__ 1 300// CHECK_NOCONA_M64: #define __amd64 1 301// CHECK_NOCONA_M64: #define __amd64__ 1 302// CHECK_NOCONA_M64: #define __nocona 1 303// CHECK_NOCONA_M64: #define __nocona__ 1 304// CHECK_NOCONA_M64: #define __tune_nocona__ 1 305// CHECK_NOCONA_M64: #define __x86_64 1 306// CHECK_NOCONA_M64: #define __x86_64__ 1 307// 308// RUN: %clang -march=core2 -m32 -E -dM %s -o - 2>&1 \ 309// RUN: | FileCheck %s -check-prefix=CHECK_CORE2_M32 310// CHECK_CORE2_M32: #define __MMX__ 1 311// CHECK_CORE2_M32: #define __SSE2__ 1 312// CHECK_CORE2_M32: #define __SSE3__ 1 313// CHECK_CORE2_M32: #define __SSE__ 1 314// CHECK_CORE2_M32: #define __SSSE3__ 1 315// CHECK_CORE2_M32: #define __core2 1 316// CHECK_CORE2_M32: #define __core2__ 1 317// CHECK_CORE2_M32: #define __i386 1 318// CHECK_CORE2_M32: #define __i386__ 1 319// CHECK_CORE2_M32: #define __tune_core2__ 1 320// CHECK_CORE2_M32: #define i386 1 321// RUN: %clang -march=core2 -m64 -E -dM %s -o - 2>&1 \ 322// RUN: | FileCheck %s -check-prefix=CHECK_CORE2_M64 323// CHECK_CORE2_M64: #define __MMX__ 1 324// CHECK_CORE2_M64: #define __SSE2_MATH__ 1 325// CHECK_CORE2_M64: #define __SSE2__ 1 326// CHECK_CORE2_M64: #define __SSE3__ 1 327// CHECK_CORE2_M64: #define __SSE_MATH__ 1 328// CHECK_CORE2_M64: #define __SSE__ 1 329// CHECK_CORE2_M64: #define __SSSE3__ 1 330// CHECK_CORE2_M64: #define __amd64 1 331// CHECK_CORE2_M64: #define __amd64__ 1 332// CHECK_CORE2_M64: #define __core2 1 333// CHECK_CORE2_M64: #define __core2__ 1 334// CHECK_CORE2_M64: #define __tune_core2__ 1 335// CHECK_CORE2_M64: #define __x86_64 1 336// CHECK_CORE2_M64: #define __x86_64__ 1 337// 338// RUN: %clang -march=corei7 -m32 -E -dM %s -o - 2>&1 \ 339// RUN: | FileCheck %s -check-prefix=CHECK_COREI7_M32 340// CHECK_COREI7_M32: #define __MMX__ 1 341// CHECK_COREI7_M32: #define __SSE2__ 1 342// CHECK_COREI7_M32: #define __SSE3__ 1 343// CHECK_COREI7_M32: #define __SSE4_1__ 1 344// CHECK_COREI7_M32: #define __SSE4_2__ 1 345// CHECK_COREI7_M32: #define __SSE__ 1 346// CHECK_COREI7_M32: #define __SSSE3__ 1 347// CHECK_COREI7_M32: #define __corei7 1 348// CHECK_COREI7_M32: #define __corei7__ 1 349// CHECK_COREI7_M32: #define __i386 1 350// CHECK_COREI7_M32: #define __i386__ 1 351// CHECK_COREI7_M32: #define __tune_corei7__ 1 352// CHECK_COREI7_M32: #define i386 1 353// RUN: %clang -march=corei7 -m64 -E -dM %s -o - 2>&1 \ 354// RUN: | FileCheck %s -check-prefix=CHECK_COREI7_M64 355// CHECK_COREI7_M64: #define __MMX__ 1 356// CHECK_COREI7_M64: #define __SSE2_MATH__ 1 357// CHECK_COREI7_M64: #define __SSE2__ 1 358// CHECK_COREI7_M64: #define __SSE3__ 1 359// CHECK_COREI7_M64: #define __SSE4_1__ 1 360// CHECK_COREI7_M64: #define __SSE4_2__ 1 361// CHECK_COREI7_M64: #define __SSE_MATH__ 1 362// CHECK_COREI7_M64: #define __SSE__ 1 363// CHECK_COREI7_M64: #define __SSSE3__ 1 364// CHECK_COREI7_M64: #define __amd64 1 365// CHECK_COREI7_M64: #define __amd64__ 1 366// CHECK_COREI7_M64: #define __corei7 1 367// CHECK_COREI7_M64: #define __corei7__ 1 368// CHECK_COREI7_M64: #define __tune_corei7__ 1 369// CHECK_COREI7_M64: #define __x86_64 1 370// CHECK_COREI7_M64: #define __x86_64__ 1 371// 372// RUN: %clang -march=corei7-avx -m32 -E -dM %s -o - 2>&1 \ 373// RUN: | FileCheck %s -check-prefix=CHECK_COREI7_AVX_M32 374// CHECK_COREI7_AVX_M32: #define __AES__ 1 375// FIXME: AVX is not yet enabled with Clang. 376// CHECK_COREI7_AVX_M32-NOT: #define __AVX__ 1 377// CHECK_COREI7_AVX_M32: #define __MMX__ 1 378// CHECK_COREI7_AVX_M32: #define __SSE2__ 1 379// CHECK_COREI7_AVX_M32: #define __SSE3__ 1 380// CHECK_COREI7_AVX_M32: #define __SSE4_1__ 1 381// CHECK_COREI7_AVX_M32: #define __SSE4_2__ 1 382// CHECK_COREI7_AVX_M32: #define __SSE__ 1 383// CHECK_COREI7_AVX_M32: #define __SSSE3__ 1 384// CHECK_COREI7_AVX_M32: #define __corei7 1 385// CHECK_COREI7_AVX_M32: #define __corei7__ 1 386// CHECK_COREI7_AVX_M32: #define __i386 1 387// CHECK_COREI7_AVX_M32: #define __i386__ 1 388// CHECK_COREI7_AVX_M32: #define __tune_corei7__ 1 389// CHECK_COREI7_AVX_M32: #define i386 1 390// RUN: %clang -march=corei7-avx -m64 -E -dM %s -o - 2>&1 \ 391// RUN: | FileCheck %s -check-prefix=CHECK_COREI7_AVX_M64 392// CHECK_COREI7_AVX_M64: #define __AES__ 1 393// FIXME: AVX is not yet enabled with Clang. 394// CHECK_COREI7_AVX_M64-NOT: #define __AVX__ 1 395// CHECK_COREI7_AVX_M64: #define __MMX__ 1 396// CHECK_COREI7_AVX_M64: #define __SSE2_MATH__ 1 397// CHECK_COREI7_AVX_M64: #define __SSE2__ 1 398// CHECK_COREI7_AVX_M64: #define __SSE3__ 1 399// CHECK_COREI7_AVX_M64: #define __SSE4_1__ 1 400// CHECK_COREI7_AVX_M64: #define __SSE4_2__ 1 401// CHECK_COREI7_AVX_M64: #define __SSE_MATH__ 1 402// CHECK_COREI7_AVX_M64: #define __SSE__ 1 403// CHECK_COREI7_AVX_M64: #define __SSSE3__ 1 404// CHECK_COREI7_AVX_M64: #define __amd64 1 405// CHECK_COREI7_AVX_M64: #define __amd64__ 1 406// CHECK_COREI7_AVX_M64: #define __corei7 1 407// CHECK_COREI7_AVX_M64: #define __corei7__ 1 408// CHECK_COREI7_AVX_M64: #define __tune_corei7__ 1 409// CHECK_COREI7_AVX_M64: #define __x86_64 1 410// CHECK_COREI7_AVX_M64: #define __x86_64__ 1 411// 412// RUN: %clang -march=core-avx-i -m32 -E -dM %s -o - 2>&1 \ 413// RUN: | FileCheck %s -check-prefix=CHECK_CORE_AVX_I_M32 414// CHECK_CORE_AVX_I_M32: #define __AES__ 1 415// FIXME: AVX is not yet enabled with Clang. 416// CHECK_CORE_AVX_I_M32-NOT: #define __AVX__ 1 417// CHECK_CORE_AVX_I_M32: #define __MMX__ 1 418// CHECK_CORE_AVX_I_M32: #define __SSE2__ 1 419// CHECK_CORE_AVX_I_M32: #define __SSE3__ 1 420// CHECK_CORE_AVX_I_M32: #define __SSE4_1__ 1 421// CHECK_CORE_AVX_I_M32: #define __SSE4_2__ 1 422// CHECK_CORE_AVX_I_M32: #define __SSE__ 1 423// CHECK_CORE_AVX_I_M32: #define __SSSE3__ 1 424// CHECK_CORE_AVX_I_M32: #define __corei7 1 425// CHECK_CORE_AVX_I_M32: #define __corei7__ 1 426// CHECK_CORE_AVX_I_M32: #define __i386 1 427// CHECK_CORE_AVX_I_M32: #define __i386__ 1 428// CHECK_CORE_AVX_I_M32: #define __tune_corei7__ 1 429// CHECK_CORE_AVX_I_M32: #define i386 1 430// RUN: %clang -march=core-avx-i -m64 -E -dM %s -o - 2>&1 \ 431// RUN: | FileCheck %s -check-prefix=CHECK_CORE_AVX_I_M64 432// CHECK_CORE_AVX_I_M64: #define __AES__ 1 433// FIXME: AVX is not yet enabled with Clang. 434// CHECK_CORE_AVX_I_M64-NOT: #define __AVX__ 1 435// CHECK_CORE_AVX_I_M64: #define __MMX__ 1 436// CHECK_CORE_AVX_I_M64: #define __SSE2_MATH__ 1 437// CHECK_CORE_AVX_I_M64: #define __SSE2__ 1 438// CHECK_CORE_AVX_I_M64: #define __SSE3__ 1 439// CHECK_CORE_AVX_I_M64: #define __SSE4_1__ 1 440// CHECK_CORE_AVX_I_M64: #define __SSE4_2__ 1 441// CHECK_CORE_AVX_I_M64: #define __SSE_MATH__ 1 442// CHECK_CORE_AVX_I_M64: #define __SSE__ 1 443// CHECK_CORE_AVX_I_M64: #define __SSSE3__ 1 444// CHECK_CORE_AVX_I_M64: #define __amd64 1 445// CHECK_CORE_AVX_I_M64: #define __amd64__ 1 446// CHECK_CORE_AVX_I_M64: #define __corei7 1 447// CHECK_CORE_AVX_I_M64: #define __corei7__ 1 448// CHECK_CORE_AVX_I_M64: #define __tune_corei7__ 1 449// CHECK_CORE_AVX_I_M64: #define __x86_64 1 450// CHECK_CORE_AVX_I_M64: #define __x86_64__ 1 451// 452// RUN: %clang -march=atom -m32 -E -dM %s -o - 2>&1 \ 453// RUN: | FileCheck %s -check-prefix=CHECK_ATOM_M32 454// CHECK_ATOM_M32: #define __MMX__ 1 455// CHECK_ATOM_M32: #define __SSE2__ 1 456// CHECK_ATOM_M32: #define __SSE3__ 1 457// CHECK_ATOM_M32: #define __SSE__ 1 458// CHECK_ATOM_M32: #define __SSSE3__ 1 459// CHECK_ATOM_M32: #define __atom 1 460// CHECK_ATOM_M32: #define __atom__ 1 461// CHECK_ATOM_M32: #define __i386 1 462// CHECK_ATOM_M32: #define __i386__ 1 463// CHECK_ATOM_M32: #define __tune_atom__ 1 464// CHECK_ATOM_M32: #define i386 1 465// RUN: %clang -march=atom -m64 -E -dM %s -o - 2>&1 \ 466// RUN: | FileCheck %s -check-prefix=CHECK_ATOM_M64 467// CHECK_ATOM_M64: #define __MMX__ 1 468// CHECK_ATOM_M64: #define __SSE2_MATH__ 1 469// CHECK_ATOM_M64: #define __SSE2__ 1 470// CHECK_ATOM_M64: #define __SSE3__ 1 471// CHECK_ATOM_M64: #define __SSE_MATH__ 1 472// CHECK_ATOM_M64: #define __SSE__ 1 473// CHECK_ATOM_M64: #define __SSSE3__ 1 474// CHECK_ATOM_M64: #define __amd64 1 475// CHECK_ATOM_M64: #define __amd64__ 1 476// CHECK_ATOM_M64: #define __atom 1 477// CHECK_ATOM_M64: #define __atom__ 1 478// CHECK_ATOM_M64: #define __tune_atom__ 1 479// CHECK_ATOM_M64: #define __x86_64 1 480// CHECK_ATOM_M64: #define __x86_64__ 1 481// 482// RUN: %clang -march=geode -m32 -E -dM %s -o - 2>&1 \ 483// RUN: | FileCheck %s -check-prefix=CHECK_GEODE_M32 484// CHECK_GEODE_M32: #define __3dNOW_A__ 1 485// CHECK_GEODE_M32: #define __3dNOW__ 1 486// CHECK_GEODE_M32: #define __MMX__ 1 487// CHECK_GEODE_M32: #define __geode 1 488// CHECK_GEODE_M32: #define __geode__ 1 489// CHECK_GEODE_M32: #define __i386 1 490// CHECK_GEODE_M32: #define __i386__ 1 491// CHECK_GEODE_M32: #define __tune_geode__ 1 492// CHECK_GEODE_M32: #define i386 1 493// RUN: %clang -march=geode -m64 -E -dM %s -o - 2>&1 \ 494// RUN: | FileCheck %s -check-prefix=CHECK_GEODE_M64 495// CHECK_GEODE_M64: error: 496// 497// RUN: %clang -march=k6 -m32 -E -dM %s -o - 2>&1 \ 498// RUN: | FileCheck %s -check-prefix=CHECK_K6_M32 499// CHECK_K6_M32: #define __MMX__ 1 500// CHECK_K6_M32: #define __i386 1 501// CHECK_K6_M32: #define __i386__ 1 502// CHECK_K6_M32: #define __k6 1 503// CHECK_K6_M32: #define __k6__ 1 504// CHECK_K6_M32: #define __tune_k6__ 1 505// CHECK_K6_M32: #define i386 1 506// RUN: %clang -march=k6 -m64 -E -dM %s -o - 2>&1 \ 507// RUN: | FileCheck %s -check-prefix=CHECK_K6_M64 508// CHECK_K6_M64: error: 509// 510// RUN: %clang -march=k6-2 -m32 -E -dM %s -o - 2>&1 \ 511// RUN: | FileCheck %s -check-prefix=CHECK_K6_2_M32 512// CHECK_K6_2_M32: #define __3dNOW__ 1 513// CHECK_K6_2_M32: #define __MMX__ 1 514// CHECK_K6_2_M32: #define __i386 1 515// CHECK_K6_2_M32: #define __i386__ 1 516// CHECK_K6_2_M32: #define __k6 1 517// CHECK_K6_2_M32: #define __k6_2__ 1 518// CHECK_K6_2_M32: #define __k6__ 1 519// CHECK_K6_2_M32: #define __tune_k6_2__ 1 520// CHECK_K6_2_M32: #define __tune_k6__ 1 521// CHECK_K6_2_M32: #define i386 1 522// RUN: %clang -march=k6-2 -m64 -E -dM %s -o - 2>&1 \ 523// RUN: | FileCheck %s -check-prefix=CHECK_K6_2_M64 524// CHECK_K6_2_M64: error: 525// 526// RUN: %clang -march=k6-3 -m32 -E -dM %s -o - 2>&1 \ 527// RUN: | FileCheck %s -check-prefix=CHECK_K6_3_M32 528// CHECK_K6_3_M32: #define __3dNOW__ 1 529// CHECK_K6_3_M32: #define __MMX__ 1 530// CHECK_K6_3_M32: #define __i386 1 531// CHECK_K6_3_M32: #define __i386__ 1 532// CHECK_K6_3_M32: #define __k6 1 533// CHECK_K6_3_M32: #define __k6_3__ 1 534// CHECK_K6_3_M32: #define __k6__ 1 535// CHECK_K6_3_M32: #define __tune_k6_3__ 1 536// CHECK_K6_3_M32: #define __tune_k6__ 1 537// CHECK_K6_3_M32: #define i386 1 538// RUN: %clang -march=k6-3 -m64 -E -dM %s -o - 2>&1 \ 539// RUN: | FileCheck %s -check-prefix=CHECK_K6_3_M64 540// CHECK_K6_3_M64: error: 541// 542// RUN: %clang -march=athlon -m32 -E -dM %s -o - 2>&1 \ 543// RUN: | FileCheck %s -check-prefix=CHECK_ATHLON_M32 544// CHECK_ATHLON_M32: #define __3dNOW_A__ 1 545// CHECK_ATHLON_M32: #define __3dNOW__ 1 546// CHECK_ATHLON_M32: #define __MMX__ 1 547// CHECK_ATHLON_M32: #define __athlon 1 548// CHECK_ATHLON_M32: #define __athlon__ 1 549// CHECK_ATHLON_M32: #define __i386 1 550// CHECK_ATHLON_M32: #define __i386__ 1 551// CHECK_ATHLON_M32: #define __tune_athlon__ 1 552// CHECK_ATHLON_M32: #define i386 1 553// RUN: %clang -march=athlon -m64 -E -dM %s -o - 2>&1 \ 554// RUN: | FileCheck %s -check-prefix=CHECK_ATHLON_M64 555// CHECK_ATHLON_M64: error: 556// 557// RUN: %clang -march=athlon-tbird -m32 -E -dM %s -o - 2>&1 \ 558// RUN: | FileCheck %s -check-prefix=CHECK_ATHLON_TBIRD_M32 559// CHECK_ATHLON_TBIRD_M32: #define __3dNOW_A__ 1 560// CHECK_ATHLON_TBIRD_M32: #define __3dNOW__ 1 561// CHECK_ATHLON_TBIRD_M32: #define __MMX__ 1 562// CHECK_ATHLON_TBIRD_M32: #define __athlon 1 563// CHECK_ATHLON_TBIRD_M32: #define __athlon__ 1 564// CHECK_ATHLON_TBIRD_M32: #define __i386 1 565// CHECK_ATHLON_TBIRD_M32: #define __i386__ 1 566// CHECK_ATHLON_TBIRD_M32: #define __tune_athlon__ 1 567// CHECK_ATHLON_TBIRD_M32: #define i386 1 568// RUN: %clang -march=athlon-tbird -m64 -E -dM %s -o - 2>&1 \ 569// RUN: | FileCheck %s -check-prefix=CHECK_ATHLON_TBIRD_M64 570// CHECK_ATHLON_TBIRD_M64: error: 571// 572// RUN: %clang -march=athlon-4 -m32 -E -dM %s -o - 2>&1 \ 573// RUN: | FileCheck %s -check-prefix=CHECK_ATHLON_4_M32 574// CHECK_ATHLON_4_M32: #define __3dNOW_A__ 1 575// CHECK_ATHLON_4_M32: #define __3dNOW__ 1 576// CHECK_ATHLON_4_M32: #define __MMX__ 1 577// CHECK_ATHLON_4_M32: #define __SSE__ 1 578// CHECK_ATHLON_4_M32: #define __athlon 1 579// CHECK_ATHLON_4_M32: #define __athlon__ 1 580// CHECK_ATHLON_4_M32: #define __athlon_sse__ 1 581// CHECK_ATHLON_4_M32: #define __i386 1 582// CHECK_ATHLON_4_M32: #define __i386__ 1 583// CHECK_ATHLON_4_M32: #define __tune_athlon__ 1 584// CHECK_ATHLON_4_M32: #define __tune_athlon_sse__ 1 585// CHECK_ATHLON_4_M32: #define i386 1 586// RUN: %clang -march=athlon-4 -m64 -E -dM %s -o - 2>&1 \ 587// RUN: | FileCheck %s -check-prefix=CHECK_ATHLON_4_M64 588// CHECK_ATHLON_4_M64: error: 589// 590// RUN: %clang -march=athlon-xp -m32 -E -dM %s -o - 2>&1 \ 591// RUN: | FileCheck %s -check-prefix=CHECK_ATHLON_XP_M32 592// CHECK_ATHLON_XP_M32: #define __3dNOW_A__ 1 593// CHECK_ATHLON_XP_M32: #define __3dNOW__ 1 594// CHECK_ATHLON_XP_M32: #define __MMX__ 1 595// CHECK_ATHLON_XP_M32: #define __SSE__ 1 596// CHECK_ATHLON_XP_M32: #define __athlon 1 597// CHECK_ATHLON_XP_M32: #define __athlon__ 1 598// CHECK_ATHLON_XP_M32: #define __athlon_sse__ 1 599// CHECK_ATHLON_XP_M32: #define __i386 1 600// CHECK_ATHLON_XP_M32: #define __i386__ 1 601// CHECK_ATHLON_XP_M32: #define __tune_athlon__ 1 602// CHECK_ATHLON_XP_M32: #define __tune_athlon_sse__ 1 603// CHECK_ATHLON_XP_M32: #define i386 1 604// RUN: %clang -march=athlon-xp -m64 -E -dM %s -o - 2>&1 \ 605// RUN: | FileCheck %s -check-prefix=CHECK_ATHLON_XP_M64 606// CHECK_ATHLON_XP_M64: error: 607// 608// RUN: %clang -march=athlon-mp -m32 -E -dM %s -o - 2>&1 \ 609// RUN: | FileCheck %s -check-prefix=CHECK_ATHLON_MP_M32 610// CHECK_ATHLON_MP_M32: #define __3dNOW_A__ 1 611// CHECK_ATHLON_MP_M32: #define __3dNOW__ 1 612// CHECK_ATHLON_MP_M32: #define __MMX__ 1 613// CHECK_ATHLON_MP_M32: #define __SSE__ 1 614// CHECK_ATHLON_MP_M32: #define __athlon 1 615// CHECK_ATHLON_MP_M32: #define __athlon__ 1 616// CHECK_ATHLON_MP_M32: #define __athlon_sse__ 1 617// CHECK_ATHLON_MP_M32: #define __i386 1 618// CHECK_ATHLON_MP_M32: #define __i386__ 1 619// CHECK_ATHLON_MP_M32: #define __tune_athlon__ 1 620// CHECK_ATHLON_MP_M32: #define __tune_athlon_sse__ 1 621// CHECK_ATHLON_MP_M32: #define i386 1 622// RUN: %clang -march=athlon-mp -m64 -E -dM %s -o - 2>&1 \ 623// RUN: | FileCheck %s -check-prefix=CHECK_ATHLON_MP_M64 624// CHECK_ATHLON_MP_M64: error: 625// 626// RUN: %clang -march=x86-64 -m32 -E -dM %s -o - 2>&1 \ 627// RUN: | FileCheck %s -check-prefix=CHECK_X86_64_M32 628// CHECK_X86_64_M32: #define __MMX__ 1 629// CHECK_X86_64_M32: #define __SSE2__ 1 630// CHECK_X86_64_M32: #define __SSE__ 1 631// CHECK_X86_64_M32: #define __i386 1 632// CHECK_X86_64_M32: #define __i386__ 1 633// CHECK_X86_64_M32: #define __k8 1 634// CHECK_X86_64_M32: #define __k8__ 1 635// CHECK_X86_64_M32: #define i386 1 636// RUN: %clang -march=x86-64 -m64 -E -dM %s -o - 2>&1 \ 637// RUN: | FileCheck %s -check-prefix=CHECK_X86_64_M64 638// CHECK_X86_64_M64: #define __MMX__ 1 639// CHECK_X86_64_M64: #define __SSE2_MATH__ 1 640// CHECK_X86_64_M64: #define __SSE2__ 1 641// CHECK_X86_64_M64: #define __SSE_MATH__ 1 642// CHECK_X86_64_M64: #define __SSE__ 1 643// CHECK_X86_64_M64: #define __amd64 1 644// CHECK_X86_64_M64: #define __amd64__ 1 645// CHECK_X86_64_M64: #define __k8 1 646// CHECK_X86_64_M64: #define __k8__ 1 647// CHECK_X86_64_M64: #define __x86_64 1 648// CHECK_X86_64_M64: #define __x86_64__ 1 649// 650// RUN: %clang -march=k8 -m32 -E -dM %s -o - 2>&1 \ 651// RUN: | FileCheck %s -check-prefix=CHECK_K8_M32 652// CHECK_K8_M32: #define __3dNOW_A__ 1 653// CHECK_K8_M32: #define __3dNOW__ 1 654// CHECK_K8_M32: #define __MMX__ 1 655// CHECK_K8_M32: #define __SSE2__ 1 656// CHECK_K8_M32: #define __SSE__ 1 657// CHECK_K8_M32: #define __i386 1 658// CHECK_K8_M32: #define __i386__ 1 659// CHECK_K8_M32: #define __k8 1 660// CHECK_K8_M32: #define __k8__ 1 661// CHECK_K8_M32: #define __tune_k8__ 1 662// CHECK_K8_M32: #define i386 1 663// RUN: %clang -march=k8 -m64 -E -dM %s -o - 2>&1 \ 664// RUN: | FileCheck %s -check-prefix=CHECK_K8_M64 665// CHECK_K8_M64: #define __3dNOW_A__ 1 666// CHECK_K8_M64: #define __3dNOW__ 1 667// CHECK_K8_M64: #define __MMX__ 1 668// CHECK_K8_M64: #define __SSE2_MATH__ 1 669// CHECK_K8_M64: #define __SSE2__ 1 670// CHECK_K8_M64: #define __SSE_MATH__ 1 671// CHECK_K8_M64: #define __SSE__ 1 672// CHECK_K8_M64: #define __amd64 1 673// CHECK_K8_M64: #define __amd64__ 1 674// CHECK_K8_M64: #define __k8 1 675// CHECK_K8_M64: #define __k8__ 1 676// CHECK_K8_M64: #define __tune_k8__ 1 677// CHECK_K8_M64: #define __x86_64 1 678// CHECK_K8_M64: #define __x86_64__ 1 679// 680// RUN: %clang -march=k8-sse3 -m32 -E -dM %s -o - 2>&1 \ 681// RUN: | FileCheck %s -check-prefix=CHECK_K8_SSE3_M32 682// CHECK_K8_SSE3_M32: #define __3dNOW_A__ 1 683// CHECK_K8_SSE3_M32: #define __3dNOW__ 1 684// CHECK_K8_SSE3_M32: #define __MMX__ 1 685// CHECK_K8_SSE3_M32: #define __SSE2__ 1 686// CHECK_K8_SSE3_M32: #define __SSE3__ 1 687// CHECK_K8_SSE3_M32: #define __SSE__ 1 688// CHECK_K8_SSE3_M32: #define __i386 1 689// CHECK_K8_SSE3_M32: #define __i386__ 1 690// CHECK_K8_SSE3_M32: #define __k8 1 691// CHECK_K8_SSE3_M32: #define __k8__ 1 692// CHECK_K8_SSE3_M32: #define __tune_k8__ 1 693// CHECK_K8_SSE3_M32: #define i386 1 694// RUN: %clang -march=k8-sse3 -m64 -E -dM %s -o - 2>&1 \ 695// RUN: | FileCheck %s -check-prefix=CHECK_K8_SSE3_M64 696// CHECK_K8_SSE3_M64: #define __3dNOW_A__ 1 697// CHECK_K8_SSE3_M64: #define __3dNOW__ 1 698// CHECK_K8_SSE3_M64: #define __MMX__ 1 699// CHECK_K8_SSE3_M64: #define __SSE2_MATH__ 1 700// CHECK_K8_SSE3_M64: #define __SSE2__ 1 701// CHECK_K8_SSE3_M64: #define __SSE3__ 1 702// CHECK_K8_SSE3_M64: #define __SSE_MATH__ 1 703// CHECK_K8_SSE3_M64: #define __SSE__ 1 704// CHECK_K8_SSE3_M64: #define __amd64 1 705// CHECK_K8_SSE3_M64: #define __amd64__ 1 706// CHECK_K8_SSE3_M64: #define __k8 1 707// CHECK_K8_SSE3_M64: #define __k8__ 1 708// CHECK_K8_SSE3_M64: #define __tune_k8__ 1 709// CHECK_K8_SSE3_M64: #define __x86_64 1 710// CHECK_K8_SSE3_M64: #define __x86_64__ 1 711// 712// RUN: %clang -march=opteron -m32 -E -dM %s -o - 2>&1 \ 713// RUN: | FileCheck %s -check-prefix=CHECK_OPTERON_M32 714// CHECK_OPTERON_M32: #define __3dNOW_A__ 1 715// CHECK_OPTERON_M32: #define __3dNOW__ 1 716// CHECK_OPTERON_M32: #define __MMX__ 1 717// CHECK_OPTERON_M32: #define __SSE2__ 1 718// CHECK_OPTERON_M32: #define __SSE__ 1 719// CHECK_OPTERON_M32: #define __i386 1 720// CHECK_OPTERON_M32: #define __i386__ 1 721// CHECK_OPTERON_M32: #define __k8 1 722// CHECK_OPTERON_M32: #define __k8__ 1 723// CHECK_OPTERON_M32: #define __tune_k8__ 1 724// CHECK_OPTERON_M32: #define i386 1 725// RUN: %clang -march=opteron -m64 -E -dM %s -o - 2>&1 \ 726// RUN: | FileCheck %s -check-prefix=CHECK_OPTERON_M64 727// CHECK_OPTERON_M64: #define __3dNOW_A__ 1 728// CHECK_OPTERON_M64: #define __3dNOW__ 1 729// CHECK_OPTERON_M64: #define __MMX__ 1 730// CHECK_OPTERON_M64: #define __SSE2_MATH__ 1 731// CHECK_OPTERON_M64: #define __SSE2__ 1 732// CHECK_OPTERON_M64: #define __SSE_MATH__ 1 733// CHECK_OPTERON_M64: #define __SSE__ 1 734// CHECK_OPTERON_M64: #define __amd64 1 735// CHECK_OPTERON_M64: #define __amd64__ 1 736// CHECK_OPTERON_M64: #define __k8 1 737// CHECK_OPTERON_M64: #define __k8__ 1 738// CHECK_OPTERON_M64: #define __tune_k8__ 1 739// CHECK_OPTERON_M64: #define __x86_64 1 740// CHECK_OPTERON_M64: #define __x86_64__ 1 741// 742// RUN: %clang -march=opteron-sse3 -m32 -E -dM %s -o - 2>&1 \ 743// RUN: | FileCheck %s -check-prefix=CHECK_OPTERON_SSE3_M32 744// CHECK_OPTERON_SSE3_M32: #define __3dNOW_A__ 1 745// CHECK_OPTERON_SSE3_M32: #define __3dNOW__ 1 746// CHECK_OPTERON_SSE3_M32: #define __MMX__ 1 747// CHECK_OPTERON_SSE3_M32: #define __SSE2__ 1 748// CHECK_OPTERON_SSE3_M32: #define __SSE3__ 1 749// CHECK_OPTERON_SSE3_M32: #define __SSE__ 1 750// CHECK_OPTERON_SSE3_M32: #define __i386 1 751// CHECK_OPTERON_SSE3_M32: #define __i386__ 1 752// CHECK_OPTERON_SSE3_M32: #define __k8 1 753// CHECK_OPTERON_SSE3_M32: #define __k8__ 1 754// CHECK_OPTERON_SSE3_M32: #define __tune_k8__ 1 755// CHECK_OPTERON_SSE3_M32: #define i386 1 756// RUN: %clang -march=opteron-sse3 -m64 -E -dM %s -o - 2>&1 \ 757// RUN: | FileCheck %s -check-prefix=CHECK_OPTERON_SSE3_M64 758// CHECK_OPTERON_SSE3_M64: #define __3dNOW_A__ 1 759// CHECK_OPTERON_SSE3_M64: #define __3dNOW__ 1 760// CHECK_OPTERON_SSE3_M64: #define __MMX__ 1 761// CHECK_OPTERON_SSE3_M64: #define __SSE2_MATH__ 1 762// CHECK_OPTERON_SSE3_M64: #define __SSE2__ 1 763// CHECK_OPTERON_SSE3_M64: #define __SSE3__ 1 764// CHECK_OPTERON_SSE3_M64: #define __SSE_MATH__ 1 765// CHECK_OPTERON_SSE3_M64: #define __SSE__ 1 766// CHECK_OPTERON_SSE3_M64: #define __amd64 1 767// CHECK_OPTERON_SSE3_M64: #define __amd64__ 1 768// CHECK_OPTERON_SSE3_M64: #define __k8 1 769// CHECK_OPTERON_SSE3_M64: #define __k8__ 1 770// CHECK_OPTERON_SSE3_M64: #define __tune_k8__ 1 771// CHECK_OPTERON_SSE3_M64: #define __x86_64 1 772// CHECK_OPTERON_SSE3_M64: #define __x86_64__ 1 773// 774// RUN: %clang -march=athlon64 -m32 -E -dM %s -o - 2>&1 \ 775// RUN: | FileCheck %s -check-prefix=CHECK_ATHLON64_M32 776// CHECK_ATHLON64_M32: #define __3dNOW_A__ 1 777// CHECK_ATHLON64_M32: #define __3dNOW__ 1 778// CHECK_ATHLON64_M32: #define __MMX__ 1 779// CHECK_ATHLON64_M32: #define __SSE2__ 1 780// CHECK_ATHLON64_M32: #define __SSE__ 1 781// CHECK_ATHLON64_M32: #define __i386 1 782// CHECK_ATHLON64_M32: #define __i386__ 1 783// CHECK_ATHLON64_M32: #define __k8 1 784// CHECK_ATHLON64_M32: #define __k8__ 1 785// CHECK_ATHLON64_M32: #define __tune_k8__ 1 786// CHECK_ATHLON64_M32: #define i386 1 787// RUN: %clang -march=athlon64 -m64 -E -dM %s -o - 2>&1 \ 788// RUN: | FileCheck %s -check-prefix=CHECK_ATHLON64_M64 789// CHECK_ATHLON64_M64: #define __3dNOW_A__ 1 790// CHECK_ATHLON64_M64: #define __3dNOW__ 1 791// CHECK_ATHLON64_M64: #define __MMX__ 1 792// CHECK_ATHLON64_M64: #define __SSE2_MATH__ 1 793// CHECK_ATHLON64_M64: #define __SSE2__ 1 794// CHECK_ATHLON64_M64: #define __SSE_MATH__ 1 795// CHECK_ATHLON64_M64: #define __SSE__ 1 796// CHECK_ATHLON64_M64: #define __amd64 1 797// CHECK_ATHLON64_M64: #define __amd64__ 1 798// CHECK_ATHLON64_M64: #define __k8 1 799// CHECK_ATHLON64_M64: #define __k8__ 1 800// CHECK_ATHLON64_M64: #define __tune_k8__ 1 801// CHECK_ATHLON64_M64: #define __x86_64 1 802// CHECK_ATHLON64_M64: #define __x86_64__ 1 803// 804// RUN: %clang -march=athlon64-sse3 -m32 -E -dM %s -o - 2>&1 \ 805// RUN: | FileCheck %s -check-prefix=CHECK_ATHLON64_SSE3_M32 806// CHECK_ATHLON64_SSE3_M32: #define __3dNOW_A__ 1 807// CHECK_ATHLON64_SSE3_M32: #define __3dNOW__ 1 808// CHECK_ATHLON64_SSE3_M32: #define __MMX__ 1 809// CHECK_ATHLON64_SSE3_M32: #define __SSE2__ 1 810// CHECK_ATHLON64_SSE3_M32: #define __SSE3__ 1 811// CHECK_ATHLON64_SSE3_M32: #define __SSE__ 1 812// CHECK_ATHLON64_SSE3_M32: #define __i386 1 813// CHECK_ATHLON64_SSE3_M32: #define __i386__ 1 814// CHECK_ATHLON64_SSE3_M32: #define __k8 1 815// CHECK_ATHLON64_SSE3_M32: #define __k8__ 1 816// CHECK_ATHLON64_SSE3_M32: #define __tune_k8__ 1 817// CHECK_ATHLON64_SSE3_M32: #define i386 1 818// RUN: %clang -march=athlon64-sse3 -m64 -E -dM %s -o - 2>&1 \ 819// RUN: | FileCheck %s -check-prefix=CHECK_ATHLON64_SSE3_M64 820// CHECK_ATHLON64_SSE3_M64: #define __3dNOW_A__ 1 821// CHECK_ATHLON64_SSE3_M64: #define __3dNOW__ 1 822// CHECK_ATHLON64_SSE3_M64: #define __MMX__ 1 823// CHECK_ATHLON64_SSE3_M64: #define __SSE2_MATH__ 1 824// CHECK_ATHLON64_SSE3_M64: #define __SSE2__ 1 825// CHECK_ATHLON64_SSE3_M64: #define __SSE3__ 1 826// CHECK_ATHLON64_SSE3_M64: #define __SSE_MATH__ 1 827// CHECK_ATHLON64_SSE3_M64: #define __SSE__ 1 828// CHECK_ATHLON64_SSE3_M64: #define __amd64 1 829// CHECK_ATHLON64_SSE3_M64: #define __amd64__ 1 830// CHECK_ATHLON64_SSE3_M64: #define __k8 1 831// CHECK_ATHLON64_SSE3_M64: #define __k8__ 1 832// CHECK_ATHLON64_SSE3_M64: #define __tune_k8__ 1 833// CHECK_ATHLON64_SSE3_M64: #define __x86_64 1 834// CHECK_ATHLON64_SSE3_M64: #define __x86_64__ 1 835// 836// RUN: %clang -march=athlon-fx -m32 -E -dM %s -o - 2>&1 \ 837// RUN: | FileCheck %s -check-prefix=CHECK_ATHLON_FX_M32 838// CHECK_ATHLON_FX_M32: #define __3dNOW_A__ 1 839// CHECK_ATHLON_FX_M32: #define __3dNOW__ 1 840// CHECK_ATHLON_FX_M32: #define __MMX__ 1 841// CHECK_ATHLON_FX_M32: #define __SSE2__ 1 842// CHECK_ATHLON_FX_M32: #define __SSE__ 1 843// CHECK_ATHLON_FX_M32: #define __i386 1 844// CHECK_ATHLON_FX_M32: #define __i386__ 1 845// CHECK_ATHLON_FX_M32: #define __k8 1 846// CHECK_ATHLON_FX_M32: #define __k8__ 1 847// CHECK_ATHLON_FX_M32: #define __tune_k8__ 1 848// CHECK_ATHLON_FX_M32: #define i386 1 849// RUN: %clang -march=athlon-fx -m64 -E -dM %s -o - 2>&1 \ 850// RUN: | FileCheck %s -check-prefix=CHECK_ATHLON_FX_M64 851// CHECK_ATHLON_FX_M64: #define __3dNOW_A__ 1 852// CHECK_ATHLON_FX_M64: #define __3dNOW__ 1 853// CHECK_ATHLON_FX_M64: #define __MMX__ 1 854// CHECK_ATHLON_FX_M64: #define __SSE2_MATH__ 1 855// CHECK_ATHLON_FX_M64: #define __SSE2__ 1 856// CHECK_ATHLON_FX_M64: #define __SSE_MATH__ 1 857// CHECK_ATHLON_FX_M64: #define __SSE__ 1 858// CHECK_ATHLON_FX_M64: #define __amd64 1 859// CHECK_ATHLON_FX_M64: #define __amd64__ 1 860// CHECK_ATHLON_FX_M64: #define __k8 1 861// CHECK_ATHLON_FX_M64: #define __k8__ 1 862// CHECK_ATHLON_FX_M64: #define __tune_k8__ 1 863// CHECK_ATHLON_FX_M64: #define __x86_64 1 864// CHECK_ATHLON_FX_M64: #define __x86_64__ 1 865// 866// End X86/GCC/Linux tests ------------------ 867