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: -target i386-unknown-linux \ 8 // RUN: | FileCheck %s -check-prefix=CHECK_I386_M32 9 // CHECK_I386_M32: #define __i386 1 10 // CHECK_I386_M32: #define __i386__ 1 11 // CHECK_I386_M32: #define __tune_i386__ 1 12 // CHECK_I386_M32: #define i386 1 13 // RUN: not %clang -march=i386 -m64 -E -dM %s -o - 2>&1 \ 14 // RUN: -target i386-unknown-linux \ 15 // RUN: | FileCheck %s -check-prefix=CHECK_I386_M64 16 // CHECK_I386_M64: error: 17 // 18 // RUN: %clang -march=i486 -m32 -E -dM %s -o - 2>&1 \ 19 // RUN: -target i386-unknown-linux \ 20 // RUN: | FileCheck %s -check-prefix=CHECK_I486_M32 21 // CHECK_I486_M32: #define __i386 1 22 // CHECK_I486_M32: #define __i386__ 1 23 // CHECK_I486_M32: #define __i486 1 24 // CHECK_I486_M32: #define __i486__ 1 25 // CHECK_I486_M32: #define __tune_i486__ 1 26 // CHECK_I486_M32: #define i386 1 27 // RUN: not %clang -march=i486 -m64 -E -dM %s -o - 2>&1 \ 28 // RUN: -target i386-unknown-linux \ 29 // RUN: | FileCheck %s -check-prefix=CHECK_I486_M64 30 // CHECK_I486_M64: error: 31 // 32 // RUN: %clang -march=i586 -m32 -E -dM %s -o - 2>&1 \ 33 // RUN: -target i386-unknown-linux \ 34 // RUN: | FileCheck %s -check-prefix=CHECK_I586_M32 35 // CHECK_I586_M32: #define __i386 1 36 // CHECK_I586_M32: #define __i386__ 1 37 // CHECK_I586_M32: #define __i586 1 38 // CHECK_I586_M32: #define __i586__ 1 39 // CHECK_I586_M32: #define __pentium 1 40 // CHECK_I586_M32: #define __pentium__ 1 41 // CHECK_I586_M32: #define __tune_i586__ 1 42 // CHECK_I586_M32: #define __tune_pentium__ 1 43 // CHECK_I586_M32: #define i386 1 44 // RUN: not %clang -march=i586 -m64 -E -dM %s -o - 2>&1 \ 45 // RUN: -target i386-unknown-linux \ 46 // RUN: | FileCheck %s -check-prefix=CHECK_I586_M64 47 // CHECK_I586_M64: error: 48 // 49 // RUN: %clang -march=pentium -m32 -E -dM %s -o - 2>&1 \ 50 // RUN: -target i386-unknown-linux \ 51 // RUN: | FileCheck %s -check-prefix=CHECK_PENTIUM_M32 52 // CHECK_PENTIUM_M32: #define __i386 1 53 // CHECK_PENTIUM_M32: #define __i386__ 1 54 // CHECK_PENTIUM_M32: #define __i586 1 55 // CHECK_PENTIUM_M32: #define __i586__ 1 56 // CHECK_PENTIUM_M32: #define __pentium 1 57 // CHECK_PENTIUM_M32: #define __pentium__ 1 58 // CHECK_PENTIUM_M32: #define __tune_i586__ 1 59 // CHECK_PENTIUM_M32: #define __tune_pentium__ 1 60 // CHECK_PENTIUM_M32: #define i386 1 61 // RUN: not %clang -march=pentium -m64 -E -dM %s -o - 2>&1 \ 62 // RUN: -target i386-unknown-linux \ 63 // RUN: | FileCheck %s -check-prefix=CHECK_PENTIUM_M64 64 // CHECK_PENTIUM_M64: error: 65 // 66 // RUN: %clang -march=pentium-mmx -m32 -E -dM %s -o - 2>&1 \ 67 // RUN: -target i386-unknown-linux \ 68 // RUN: | FileCheck %s -check-prefix=CHECK_PENTIUM_MMX_M32 69 // CHECK_PENTIUM_MMX_M32: #define __MMX__ 1 70 // CHECK_PENTIUM_MMX_M32: #define __i386 1 71 // CHECK_PENTIUM_MMX_M32: #define __i386__ 1 72 // CHECK_PENTIUM_MMX_M32: #define __i586 1 73 // CHECK_PENTIUM_MMX_M32: #define __i586__ 1 74 // CHECK_PENTIUM_MMX_M32: #define __pentium 1 75 // CHECK_PENTIUM_MMX_M32: #define __pentium__ 1 76 // CHECK_PENTIUM_MMX_M32: #define __pentium_mmx__ 1 77 // CHECK_PENTIUM_MMX_M32: #define __tune_i586__ 1 78 // CHECK_PENTIUM_MMX_M32: #define __tune_pentium__ 1 79 // CHECK_PENTIUM_MMX_M32: #define __tune_pentium_mmx__ 1 80 // CHECK_PENTIUM_MMX_M32: #define i386 1 81 // RUN: not %clang -march=pentium-mmx -m64 -E -dM %s -o - 2>&1 \ 82 // RUN: -target i386-unknown-linux \ 83 // RUN: | FileCheck %s -check-prefix=CHECK_PENTIUM_MMX_M64 84 // CHECK_PENTIUM_MMX_M64: error: 85 // 86 // RUN: %clang -march=winchip-c6 -m32 -E -dM %s -o - 2>&1 \ 87 // RUN: -target i386-unknown-linux \ 88 // RUN: | FileCheck %s -check-prefix=CHECK_WINCHIP_C6_M32 89 // CHECK_WINCHIP_C6_M32: #define __MMX__ 1 90 // CHECK_WINCHIP_C6_M32: #define __i386 1 91 // CHECK_WINCHIP_C6_M32: #define __i386__ 1 92 // CHECK_WINCHIP_C6_M32: #define __i486 1 93 // CHECK_WINCHIP_C6_M32: #define __i486__ 1 94 // CHECK_WINCHIP_C6_M32: #define __tune_i486__ 1 95 // CHECK_WINCHIP_C6_M32: #define i386 1 96 // RUN: not %clang -march=winchip-c6 -m64 -E -dM %s -o - 2>&1 \ 97 // RUN: -target i386-unknown-linux \ 98 // RUN: | FileCheck %s -check-prefix=CHECK_WINCHIP_C6_M64 99 // CHECK_WINCHIP_C6_M64: error: 100 // 101 // RUN: %clang -march=winchip2 -m32 -E -dM %s -o - 2>&1 \ 102 // RUN: -target i386-unknown-linux \ 103 // RUN: | FileCheck %s -check-prefix=CHECK_WINCHIP2_M32 104 // CHECK_WINCHIP2_M32: #define __3dNOW__ 1 105 // CHECK_WINCHIP2_M32: #define __MMX__ 1 106 // CHECK_WINCHIP2_M32: #define __i386 1 107 // CHECK_WINCHIP2_M32: #define __i386__ 1 108 // CHECK_WINCHIP2_M32: #define __i486 1 109 // CHECK_WINCHIP2_M32: #define __i486__ 1 110 // CHECK_WINCHIP2_M32: #define __tune_i486__ 1 111 // CHECK_WINCHIP2_M32: #define i386 1 112 // RUN: not %clang -march=winchip2 -m64 -E -dM %s -o - 2>&1 \ 113 // RUN: -target i386-unknown-linux \ 114 // RUN: | FileCheck %s -check-prefix=CHECK_WINCHIP2_M64 115 // CHECK_WINCHIP2_M64: error: 116 // 117 // RUN: %clang -march=c3 -m32 -E -dM %s -o - 2>&1 \ 118 // RUN: -target i386-unknown-linux \ 119 // RUN: | FileCheck %s -check-prefix=CHECK_C3_M32 120 // CHECK_C3_M32: #define __3dNOW__ 1 121 // CHECK_C3_M32: #define __MMX__ 1 122 // CHECK_C3_M32: #define __i386 1 123 // CHECK_C3_M32: #define __i386__ 1 124 // CHECK_C3_M32: #define __i486 1 125 // CHECK_C3_M32: #define __i486__ 1 126 // CHECK_C3_M32: #define __tune_i486__ 1 127 // CHECK_C3_M32: #define i386 1 128 // RUN: not %clang -march=c3 -m64 -E -dM %s -o - 2>&1 \ 129 // RUN: -target i386-unknown-linux \ 130 // RUN: | FileCheck %s -check-prefix=CHECK_C3_M64 131 // CHECK_C3_M64: error: 132 // 133 // RUN: %clang -march=c3-2 -m32 -E -dM %s -o - 2>&1 \ 134 // RUN: -target i386-unknown-linux \ 135 // RUN: | FileCheck %s -check-prefix=CHECK_C3_2_M32 136 // CHECK_C3_2_M32: #define __MMX__ 1 137 // CHECK_C3_2_M32: #define __SSE__ 1 138 // CHECK_C3_2_M32: #define __i386 1 139 // CHECK_C3_2_M32: #define __i386__ 1 140 // CHECK_C3_2_M32: #define __i686 1 141 // CHECK_C3_2_M32: #define __i686__ 1 142 // CHECK_C3_2_M32: #define __pentiumpro 1 143 // CHECK_C3_2_M32: #define __pentiumpro__ 1 144 // CHECK_C3_2_M32: #define __tune_i686__ 1 145 // CHECK_C3_2_M32: #define __tune_pentium2__ 1 146 // CHECK_C3_2_M32: #define __tune_pentiumpro__ 1 147 // CHECK_C3_2_M32: #define i386 1 148 // RUN: not %clang -march=c3-2 -m64 -E -dM %s -o - 2>&1 \ 149 // RUN: -target i386-unknown-linux \ 150 // RUN: | FileCheck %s -check-prefix=CHECK_C3_2_M64 151 // CHECK_C3_2_M64: error: 152 // 153 // RUN: %clang -march=i686 -m32 -E -dM %s -o - 2>&1 \ 154 // RUN: -target i386-unknown-linux \ 155 // RUN: | FileCheck %s -check-prefix=CHECK_I686_M32 156 // CHECK_I686_M32: #define __i386 1 157 // CHECK_I686_M32: #define __i386__ 1 158 // CHECK_I686_M32: #define __i686 1 159 // CHECK_I686_M32: #define __i686__ 1 160 // CHECK_I686_M32: #define __pentiumpro 1 161 // CHECK_I686_M32: #define __pentiumpro__ 1 162 // CHECK_I686_M32: #define i386 1 163 // RUN: not %clang -march=i686 -m64 -E -dM %s -o - 2>&1 \ 164 // RUN: -target i386-unknown-linux \ 165 // RUN: | FileCheck %s -check-prefix=CHECK_I686_M64 166 // CHECK_I686_M64: error: 167 // 168 // RUN: %clang -march=pentiumpro -m32 -E -dM %s -o - 2>&1 \ 169 // RUN: -target i386-unknown-linux \ 170 // RUN: | FileCheck %s -check-prefix=CHECK_PENTIUMPRO_M32 171 // CHECK_PENTIUMPRO_M32: #define __i386 1 172 // CHECK_PENTIUMPRO_M32: #define __i386__ 1 173 // CHECK_PENTIUMPRO_M32: #define __i686 1 174 // CHECK_PENTIUMPRO_M32: #define __i686__ 1 175 // CHECK_PENTIUMPRO_M32: #define __pentiumpro 1 176 // CHECK_PENTIUMPRO_M32: #define __pentiumpro__ 1 177 // CHECK_PENTIUMPRO_M32: #define __tune_i686__ 1 178 // CHECK_PENTIUMPRO_M32: #define __tune_pentiumpro__ 1 179 // CHECK_PENTIUMPRO_M32: #define i386 1 180 // RUN: not %clang -march=pentiumpro -m64 -E -dM %s -o - 2>&1 \ 181 // RUN: -target i386-unknown-linux \ 182 // RUN: | FileCheck %s -check-prefix=CHECK_PENTIUMPRO_M64 183 // CHECK_PENTIUMPRO_M64: error: 184 // 185 // RUN: %clang -march=pentium2 -m32 -E -dM %s -o - 2>&1 \ 186 // RUN: -target i386-unknown-linux \ 187 // RUN: | FileCheck %s -check-prefix=CHECK_PENTIUM2_M32 188 // CHECK_PENTIUM2_M32: #define __MMX__ 1 189 // CHECK_PENTIUM2_M32: #define __i386 1 190 // CHECK_PENTIUM2_M32: #define __i386__ 1 191 // CHECK_PENTIUM2_M32: #define __i686 1 192 // CHECK_PENTIUM2_M32: #define __i686__ 1 193 // CHECK_PENTIUM2_M32: #define __pentiumpro 1 194 // CHECK_PENTIUM2_M32: #define __pentiumpro__ 1 195 // CHECK_PENTIUM2_M32: #define __tune_i686__ 1 196 // CHECK_PENTIUM2_M32: #define __tune_pentium2__ 1 197 // CHECK_PENTIUM2_M32: #define __tune_pentiumpro__ 1 198 // CHECK_PENTIUM2_M32: #define i386 1 199 // RUN: not %clang -march=pentium2 -m64 -E -dM %s -o - 2>&1 \ 200 // RUN: -target i386-unknown-linux \ 201 // RUN: | FileCheck %s -check-prefix=CHECK_PENTIUM2_M64 202 // CHECK_PENTIUM2_M64: error: 203 // 204 // RUN: %clang -march=pentium3 -m32 -E -dM %s -o - 2>&1 \ 205 // RUN: -target i386-unknown-linux \ 206 // RUN: | FileCheck %s -check-prefix=CHECK_PENTIUM3_M32 207 // CHECK_PENTIUM3_M32: #define __MMX__ 1 208 // CHECK_PENTIUM3_M32: #define __SSE__ 1 209 // CHECK_PENTIUM3_M32: #define __i386 1 210 // CHECK_PENTIUM3_M32: #define __i386__ 1 211 // CHECK_PENTIUM3_M32: #define __i686 1 212 // CHECK_PENTIUM3_M32: #define __i686__ 1 213 // CHECK_PENTIUM3_M32: #define __pentiumpro 1 214 // CHECK_PENTIUM3_M32: #define __pentiumpro__ 1 215 // CHECK_PENTIUM3_M32: #define __tune_i686__ 1 216 // CHECK_PENTIUM3_M32: #define __tune_pentium2__ 1 217 // CHECK_PENTIUM3_M32: #define __tune_pentium3__ 1 218 // CHECK_PENTIUM3_M32: #define __tune_pentiumpro__ 1 219 // CHECK_PENTIUM3_M32: #define i386 1 220 // RUN: not %clang -march=pentium3 -m64 -E -dM %s -o - 2>&1 \ 221 // RUN: -target i386-unknown-linux \ 222 // RUN: | FileCheck %s -check-prefix=CHECK_PENTIUM3_M64 223 // CHECK_PENTIUM3_M64: error: 224 // 225 // RUN: %clang -march=pentium3m -m32 -E -dM %s -o - 2>&1 \ 226 // RUN: -target i386-unknown-linux \ 227 // RUN: | FileCheck %s -check-prefix=CHECK_PENTIUM3M_M32 228 // CHECK_PENTIUM3M_M32: #define __MMX__ 1 229 // CHECK_PENTIUM3M_M32: #define __SSE__ 1 230 // CHECK_PENTIUM3M_M32: #define __i386 1 231 // CHECK_PENTIUM3M_M32: #define __i386__ 1 232 // CHECK_PENTIUM3M_M32: #define __i686 1 233 // CHECK_PENTIUM3M_M32: #define __i686__ 1 234 // CHECK_PENTIUM3M_M32: #define __pentiumpro 1 235 // CHECK_PENTIUM3M_M32: #define __pentiumpro__ 1 236 // CHECK_PENTIUM3M_M32: #define __tune_i686__ 1 237 // CHECK_PENTIUM3M_M32: #define __tune_pentiumpro__ 1 238 // CHECK_PENTIUM3M_M32: #define i386 1 239 // RUN: not %clang -march=pentium3m -m64 -E -dM %s -o - 2>&1 \ 240 // RUN: -target i386-unknown-linux \ 241 // RUN: | FileCheck %s -check-prefix=CHECK_PENTIUM3M_M64 242 // CHECK_PENTIUM3M_M64: error: 243 // 244 // RUN: %clang -march=pentium-m -m32 -E -dM %s -o - 2>&1 \ 245 // RUN: -target i386-unknown-linux \ 246 // RUN: | FileCheck %s -check-prefix=CHECK_PENTIUM_M_M32 247 // CHECK_PENTIUM_M_M32: #define __MMX__ 1 248 // CHECK_PENTIUM_M_M32: #define __SSE2__ 1 249 // CHECK_PENTIUM_M_M32: #define __SSE__ 1 250 // CHECK_PENTIUM_M_M32: #define __i386 1 251 // CHECK_PENTIUM_M_M32: #define __i386__ 1 252 // CHECK_PENTIUM_M_M32: #define __i686 1 253 // CHECK_PENTIUM_M_M32: #define __i686__ 1 254 // CHECK_PENTIUM_M_M32: #define __pentiumpro 1 255 // CHECK_PENTIUM_M_M32: #define __pentiumpro__ 1 256 // CHECK_PENTIUM_M_M32: #define __tune_i686__ 1 257 // CHECK_PENTIUM_M_M32: #define __tune_pentiumpro__ 1 258 // CHECK_PENTIUM_M_M32: #define i386 1 259 // RUN: not %clang -march=pentium-m -m64 -E -dM %s -o - 2>&1 \ 260 // RUN: -target i386-unknown-linux \ 261 // RUN: | FileCheck %s -check-prefix=CHECK_PENTIUM_M_M64 262 // CHECK_PENTIUM_M_M64: error: 263 // 264 // RUN: %clang -march=pentium4 -m32 -E -dM %s -o - 2>&1 \ 265 // RUN: -target i386-unknown-linux \ 266 // RUN: | FileCheck %s -check-prefix=CHECK_PENTIUM4_M32 267 // CHECK_PENTIUM4_M32: #define __MMX__ 1 268 // CHECK_PENTIUM4_M32: #define __SSE2__ 1 269 // CHECK_PENTIUM4_M32: #define __SSE__ 1 270 // CHECK_PENTIUM4_M32: #define __i386 1 271 // CHECK_PENTIUM4_M32: #define __i386__ 1 272 // CHECK_PENTIUM4_M32: #define __pentium4 1 273 // CHECK_PENTIUM4_M32: #define __pentium4__ 1 274 // CHECK_PENTIUM4_M32: #define __tune_pentium4__ 1 275 // CHECK_PENTIUM4_M32: #define i386 1 276 // RUN: not %clang -march=pentium4 -m64 -E -dM %s -o - 2>&1 \ 277 // RUN: -target i386-unknown-linux \ 278 // RUN: | FileCheck %s -check-prefix=CHECK_PENTIUM4_M64 279 // CHECK_PENTIUM4_M64: error: 280 // 281 // RUN: %clang -march=pentium4m -m32 -E -dM %s -o - 2>&1 \ 282 // RUN: -target i386-unknown-linux \ 283 // RUN: | FileCheck %s -check-prefix=CHECK_PENTIUM4M_M32 284 // CHECK_PENTIUM4M_M32: #define __MMX__ 1 285 // CHECK_PENTIUM4M_M32: #define __SSE2__ 1 286 // CHECK_PENTIUM4M_M32: #define __SSE__ 1 287 // CHECK_PENTIUM4M_M32: #define __i386 1 288 // CHECK_PENTIUM4M_M32: #define __i386__ 1 289 // CHECK_PENTIUM4M_M32: #define __pentium4 1 290 // CHECK_PENTIUM4M_M32: #define __pentium4__ 1 291 // CHECK_PENTIUM4M_M32: #define __tune_pentium4__ 1 292 // CHECK_PENTIUM4M_M32: #define i386 1 293 // RUN: not %clang -march=pentium4m -m64 -E -dM %s -o - 2>&1 \ 294 // RUN: -target i386-unknown-linux \ 295 // RUN: | FileCheck %s -check-prefix=CHECK_PENTIUM4M_M64 296 // CHECK_PENTIUM4M_M64: error: 297 // 298 // RUN: %clang -march=prescott -m32 -E -dM %s -o - 2>&1 \ 299 // RUN: -target i386-unknown-linux \ 300 // RUN: | FileCheck %s -check-prefix=CHECK_PRESCOTT_M32 301 // CHECK_PRESCOTT_M32: #define __MMX__ 1 302 // CHECK_PRESCOTT_M32: #define __SSE2__ 1 303 // CHECK_PRESCOTT_M32: #define __SSE3__ 1 304 // CHECK_PRESCOTT_M32: #define __SSE__ 1 305 // CHECK_PRESCOTT_M32: #define __i386 1 306 // CHECK_PRESCOTT_M32: #define __i386__ 1 307 // CHECK_PRESCOTT_M32: #define __nocona 1 308 // CHECK_PRESCOTT_M32: #define __nocona__ 1 309 // CHECK_PRESCOTT_M32: #define __tune_nocona__ 1 310 // CHECK_PRESCOTT_M32: #define i386 1 311 // RUN: not %clang -march=prescott -m64 -E -dM %s -o - 2>&1 \ 312 // RUN: -target i386-unknown-linux \ 313 // RUN: | FileCheck %s -check-prefix=CHECK_PRESCOTT_M64 314 // CHECK_PRESCOTT_M64: error: 315 // 316 // RUN: %clang -march=nocona -m32 -E -dM %s -o - 2>&1 \ 317 // RUN: -target i386-unknown-linux \ 318 // RUN: | FileCheck %s -check-prefix=CHECK_NOCONA_M32 319 // CHECK_NOCONA_M32: #define __MMX__ 1 320 // CHECK_NOCONA_M32: #define __SSE2__ 1 321 // CHECK_NOCONA_M32: #define __SSE3__ 1 322 // CHECK_NOCONA_M32: #define __SSE__ 1 323 // CHECK_NOCONA_M32: #define __i386 1 324 // CHECK_NOCONA_M32: #define __i386__ 1 325 // CHECK_NOCONA_M32: #define __nocona 1 326 // CHECK_NOCONA_M32: #define __nocona__ 1 327 // CHECK_NOCONA_M32: #define __tune_nocona__ 1 328 // CHECK_NOCONA_M32: #define i386 1 329 // RUN: %clang -march=nocona -m64 -E -dM %s -o - 2>&1 \ 330 // RUN: -target i386-unknown-linux \ 331 // RUN: | FileCheck %s -check-prefix=CHECK_NOCONA_M64 332 // CHECK_NOCONA_M64: #define __MMX__ 1 333 // CHECK_NOCONA_M64: #define __SSE2_MATH__ 1 334 // CHECK_NOCONA_M64: #define __SSE2__ 1 335 // CHECK_NOCONA_M64: #define __SSE3__ 1 336 // CHECK_NOCONA_M64: #define __SSE_MATH__ 1 337 // CHECK_NOCONA_M64: #define __SSE__ 1 338 // CHECK_NOCONA_M64: #define __amd64 1 339 // CHECK_NOCONA_M64: #define __amd64__ 1 340 // CHECK_NOCONA_M64: #define __nocona 1 341 // CHECK_NOCONA_M64: #define __nocona__ 1 342 // CHECK_NOCONA_M64: #define __tune_nocona__ 1 343 // CHECK_NOCONA_M64: #define __x86_64 1 344 // CHECK_NOCONA_M64: #define __x86_64__ 1 345 // 346 // RUN: %clang -march=core2 -m32 -E -dM %s -o - 2>&1 \ 347 // RUN: -target i386-unknown-linux \ 348 // RUN: | FileCheck %s -check-prefix=CHECK_CORE2_M32 349 // CHECK_CORE2_M32: #define __MMX__ 1 350 // CHECK_CORE2_M32: #define __SSE2__ 1 351 // CHECK_CORE2_M32: #define __SSE3__ 1 352 // CHECK_CORE2_M32: #define __SSE__ 1 353 // CHECK_CORE2_M32: #define __SSSE3__ 1 354 // CHECK_CORE2_M32: #define __core2 1 355 // CHECK_CORE2_M32: #define __core2__ 1 356 // CHECK_CORE2_M32: #define __i386 1 357 // CHECK_CORE2_M32: #define __i386__ 1 358 // CHECK_CORE2_M32: #define __tune_core2__ 1 359 // CHECK_CORE2_M32: #define i386 1 360 // RUN: %clang -march=core2 -m64 -E -dM %s -o - 2>&1 \ 361 // RUN: -target i386-unknown-linux \ 362 // RUN: | FileCheck %s -check-prefix=CHECK_CORE2_M64 363 // CHECK_CORE2_M64: #define __MMX__ 1 364 // CHECK_CORE2_M64: #define __SSE2_MATH__ 1 365 // CHECK_CORE2_M64: #define __SSE2__ 1 366 // CHECK_CORE2_M64: #define __SSE3__ 1 367 // CHECK_CORE2_M64: #define __SSE_MATH__ 1 368 // CHECK_CORE2_M64: #define __SSE__ 1 369 // CHECK_CORE2_M64: #define __SSSE3__ 1 370 // CHECK_CORE2_M64: #define __amd64 1 371 // CHECK_CORE2_M64: #define __amd64__ 1 372 // CHECK_CORE2_M64: #define __core2 1 373 // CHECK_CORE2_M64: #define __core2__ 1 374 // CHECK_CORE2_M64: #define __tune_core2__ 1 375 // CHECK_CORE2_M64: #define __x86_64 1 376 // CHECK_CORE2_M64: #define __x86_64__ 1 377 // 378 // RUN: %clang -march=corei7 -m32 -E -dM %s -o - 2>&1 \ 379 // RUN: -target i386-unknown-linux \ 380 // RUN: | FileCheck %s -check-prefix=CHECK_COREI7_M32 381 // CHECK_COREI7_M32: #define __MMX__ 1 382 // CHECK_COREI7_M32: #define __POPCNT__ 1 383 // CHECK_COREI7_M32: #define __SSE2__ 1 384 // CHECK_COREI7_M32: #define __SSE3__ 1 385 // CHECK_COREI7_M32: #define __SSE4_1__ 1 386 // CHECK_COREI7_M32: #define __SSE4_2__ 1 387 // CHECK_COREI7_M32: #define __SSE__ 1 388 // CHECK_COREI7_M32: #define __SSSE3__ 1 389 // CHECK_COREI7_M32: #define __corei7 1 390 // CHECK_COREI7_M32: #define __corei7__ 1 391 // CHECK_COREI7_M32: #define __i386 1 392 // CHECK_COREI7_M32: #define __i386__ 1 393 // CHECK_COREI7_M32: #define __tune_corei7__ 1 394 // CHECK_COREI7_M32: #define i386 1 395 // RUN: %clang -march=corei7 -m64 -E -dM %s -o - 2>&1 \ 396 // RUN: -target i386-unknown-linux \ 397 // RUN: | FileCheck %s -check-prefix=CHECK_COREI7_M64 398 // CHECK_COREI7_M64: #define __MMX__ 1 399 // CHECK_COREI7_M64: #define __POPCNT__ 1 400 // CHECK_COREI7_M64: #define __SSE2_MATH__ 1 401 // CHECK_COREI7_M64: #define __SSE2__ 1 402 // CHECK_COREI7_M64: #define __SSE3__ 1 403 // CHECK_COREI7_M64: #define __SSE4_1__ 1 404 // CHECK_COREI7_M64: #define __SSE4_2__ 1 405 // CHECK_COREI7_M64: #define __SSE_MATH__ 1 406 // CHECK_COREI7_M64: #define __SSE__ 1 407 // CHECK_COREI7_M64: #define __SSSE3__ 1 408 // CHECK_COREI7_M64: #define __amd64 1 409 // CHECK_COREI7_M64: #define __amd64__ 1 410 // CHECK_COREI7_M64: #define __corei7 1 411 // CHECK_COREI7_M64: #define __corei7__ 1 412 // CHECK_COREI7_M64: #define __tune_corei7__ 1 413 // CHECK_COREI7_M64: #define __x86_64 1 414 // CHECK_COREI7_M64: #define __x86_64__ 1 415 // 416 // RUN: %clang -march=corei7-avx -m32 -E -dM %s -o - 2>&1 \ 417 // RUN: -target i386-unknown-linux \ 418 // RUN: | FileCheck %s -check-prefix=CHECK_COREI7_AVX_M32 419 // CHECK_COREI7_AVX_M32: #define __AES__ 1 420 // CHECK_COREI7_AVX_M32: #define __AVX__ 1 421 // CHECK_COREI7_AVX_M32: #define __MMX__ 1 422 // CHECK_COREI7_AVX_M32: #define __PCLMUL__ 1 423 // CHECK_COREI7_AVX_M32-NOT: __RDRND__ 424 // CHECK_COREI7_AVX_M32: #define __POPCNT__ 1 425 // CHECK_COREI7_AVX_M32: #define __SSE2__ 1 426 // CHECK_COREI7_AVX_M32: #define __SSE3__ 1 427 // CHECK_COREI7_AVX_M32: #define __SSE4_1__ 1 428 // CHECK_COREI7_AVX_M32: #define __SSE4_2__ 1 429 // CHECK_COREI7_AVX_M32: #define __SSE__ 1 430 // CHECK_COREI7_AVX_M32: #define __SSSE3__ 1 431 // CHECK_COREI7_AVX_M32: #define __corei7 1 432 // CHECK_COREI7_AVX_M32: #define __corei7__ 1 433 // CHECK_COREI7_AVX_M32: #define __i386 1 434 // CHECK_COREI7_AVX_M32: #define __i386__ 1 435 // CHECK_COREI7_AVX_M32: #define __tune_corei7__ 1 436 // CHECK_COREI7_AVX_M32: #define i386 1 437 // RUN: %clang -march=corei7-avx -m64 -E -dM %s -o - 2>&1 \ 438 // RUN: -target i386-unknown-linux \ 439 // RUN: | FileCheck %s -check-prefix=CHECK_COREI7_AVX_M64 440 // CHECK_COREI7_AVX_M64: #define __AES__ 1 441 // CHECK_COREI7_AVX_M64: #define __AVX__ 1 442 // CHECK_COREI7_AVX_M64: #define __MMX__ 1 443 // CHECK_COREI7_AVX_M64: #define __PCLMUL__ 1 444 // CHECK_COREI7_AVX_M64-NOT: __RDRND__ 445 // CHECK_COREI7_AVX_M64: #define __POPCNT__ 1 446 // CHECK_COREI7_AVX_M64: #define __SSE2_MATH__ 1 447 // CHECK_COREI7_AVX_M64: #define __SSE2__ 1 448 // CHECK_COREI7_AVX_M64: #define __SSE3__ 1 449 // CHECK_COREI7_AVX_M64: #define __SSE4_1__ 1 450 // CHECK_COREI7_AVX_M64: #define __SSE4_2__ 1 451 // CHECK_COREI7_AVX_M64: #define __SSE_MATH__ 1 452 // CHECK_COREI7_AVX_M64: #define __SSE__ 1 453 // CHECK_COREI7_AVX_M64: #define __SSSE3__ 1 454 // CHECK_COREI7_AVX_M64: #define __amd64 1 455 // CHECK_COREI7_AVX_M64: #define __amd64__ 1 456 // CHECK_COREI7_AVX_M64: #define __corei7 1 457 // CHECK_COREI7_AVX_M64: #define __corei7__ 1 458 // CHECK_COREI7_AVX_M64: #define __tune_corei7__ 1 459 // CHECK_COREI7_AVX_M64: #define __x86_64 1 460 // CHECK_COREI7_AVX_M64: #define __x86_64__ 1 461 // 462 // RUN: %clang -march=core-avx-i -m32 -E -dM %s -o - 2>&1 \ 463 // RUN: -target i386-unknown-linux \ 464 // RUN: | FileCheck %s -check-prefix=CHECK_CORE_AVX_I_M32 465 // CHECK_CORE_AVX_I_M32: #define __AES__ 1 466 // CHECK_CORE_AVX_I_M32: #define __AVX__ 1 467 // CHECK_CORE_AVX_I_M32: #define __F16C__ 1 468 // CHECK_CORE_AVX_I_M32: #define __MMX__ 1 469 // CHECK_CORE_AVX_I_M32: #define __PCLMUL__ 1 470 // CHECK_CORE_AVX_I_M32: #define __RDRND__ 1 471 // CHECK_CORE_AVX_I_M32: #define __SSE2__ 1 472 // CHECK_CORE_AVX_I_M32: #define __SSE3__ 1 473 // CHECK_CORE_AVX_I_M32: #define __SSE4_1__ 1 474 // CHECK_CORE_AVX_I_M32: #define __SSE4_2__ 1 475 // CHECK_CORE_AVX_I_M32: #define __SSE__ 1 476 // CHECK_CORE_AVX_I_M32: #define __SSSE3__ 1 477 // CHECK_CORE_AVX_I_M32: #define __corei7 1 478 // CHECK_CORE_AVX_I_M32: #define __corei7__ 1 479 // CHECK_CORE_AVX_I_M32: #define __i386 1 480 // CHECK_CORE_AVX_I_M32: #define __i386__ 1 481 // CHECK_CORE_AVX_I_M32: #define __tune_corei7__ 1 482 // CHECK_CORE_AVX_I_M32: #define i386 1 483 // RUN: %clang -march=core-avx-i -m64 -E -dM %s -o - 2>&1 \ 484 // RUN: -target i386-unknown-linux \ 485 // RUN: | FileCheck %s -check-prefix=CHECK_CORE_AVX_I_M64 486 // CHECK_CORE_AVX_I_M64: #define __AES__ 1 487 // CHECK_CORE_AVX_I_M64: #define __AVX__ 1 488 // CHECK_CORE_AVX_I_M64: #define __F16C__ 1 489 // CHECK_CORE_AVX_I_M64: #define __MMX__ 1 490 // CHECK_CORE_AVX_I_M64: #define __PCLMUL__ 1 491 // CHECK_CORE_AVX_I_M64: #define __RDRND__ 1 492 // CHECK_CORE_AVX_I_M64: #define __SSE2_MATH__ 1 493 // CHECK_CORE_AVX_I_M64: #define __SSE2__ 1 494 // CHECK_CORE_AVX_I_M64: #define __SSE3__ 1 495 // CHECK_CORE_AVX_I_M64: #define __SSE4_1__ 1 496 // CHECK_CORE_AVX_I_M64: #define __SSE4_2__ 1 497 // CHECK_CORE_AVX_I_M64: #define __SSE_MATH__ 1 498 // CHECK_CORE_AVX_I_M64: #define __SSE__ 1 499 // CHECK_CORE_AVX_I_M64: #define __SSSE3__ 1 500 // CHECK_CORE_AVX_I_M64: #define __amd64 1 501 // CHECK_CORE_AVX_I_M64: #define __amd64__ 1 502 // CHECK_CORE_AVX_I_M64: #define __corei7 1 503 // CHECK_CORE_AVX_I_M64: #define __corei7__ 1 504 // CHECK_CORE_AVX_I_M64: #define __tune_corei7__ 1 505 // CHECK_CORE_AVX_I_M64: #define __x86_64 1 506 // CHECK_CORE_AVX_I_M64: #define __x86_64__ 1 507 // 508 // RUN: %clang -march=core-avx2 -m32 -E -dM %s -o - 2>&1 \ 509 // RUN: -target i386-unknown-linux \ 510 // RUN: | FileCheck %s -check-prefix=CHECK_CORE_AVX2_M32 511 // CHECK_CORE_AVX2_M32: #define __AES__ 1 512 // CHECK_CORE_AVX2_M32: #define __AVX__ 1 513 // CHECK_CORE_AVX2_M32: #define __BMI2__ 1 514 // CHECK_CORE_AVX2_M32: #define __BMI__ 1 515 // CHECK_CORE_AVX2_M32: #define __F16C__ 1 516 // CHECK_CORE_AVX2_M32: #define __FMA__ 1 517 // CHECK_CORE_AVX2_M32: #define __LZCNT__ 1 518 // CHECK_CORE_AVX2_M32: #define __MMX__ 1 519 // CHECK_CORE_AVX2_M32: #define __PCLMUL__ 1 520 // CHECK_CORE_AVX2_M32: #define __POPCNT__ 1 521 // CHECK_CORE_AVX2_M32: #define __RDRND__ 1 522 // CHECK_CORE_AVX2_M32: #define __RTM__ 1 523 // CHECK_CORE_AVX2_M32: #define __SSE2__ 1 524 // CHECK_CORE_AVX2_M32: #define __SSE3__ 1 525 // CHECK_CORE_AVX2_M32: #define __SSE4_1__ 1 526 // CHECK_CORE_AVX2_M32: #define __SSE4_2__ 1 527 // CHECK_CORE_AVX2_M32: #define __SSE__ 1 528 // CHECK_CORE_AVX2_M32: #define __SSSE3__ 1 529 // CHECK_CORE_AVX2_M32: #define __corei7 1 530 // CHECK_CORE_AVX2_M32: #define __corei7__ 1 531 // CHECK_CORE_AVX2_M32: #define __i386 1 532 // CHECK_CORE_AVX2_M32: #define __i386__ 1 533 // CHECK_CORE_AVX2_M32: #define __tune_corei7__ 1 534 // CHECK_CORE_AVX2_M32: #define i386 1 535 // RUN: %clang -march=core-avx2 -m64 -E -dM %s -o - 2>&1 \ 536 // RUN: -target i386-unknown-linux \ 537 // RUN: | FileCheck %s -check-prefix=CHECK_CORE_AVX2_M64 538 // CHECK_CORE_AVX2_M64: #define __AES__ 1 539 // CHECK_CORE_AVX2_M64: #define __AVX__ 1 540 // CHECK_CORE_AVX2_M64: #define __BMI2__ 1 541 // CHECK_CORE_AVX2_M64: #define __BMI__ 1 542 // CHECK_CORE_AVX2_M64: #define __F16C__ 1 543 // CHECK_CORE_AVX2_M64: #define __FMA__ 1 544 // CHECK_CORE_AVX2_M64: #define __LZCNT__ 1 545 // CHECK_CORE_AVX2_M64: #define __MMX__ 1 546 // CHECK_CORE_AVX2_M64: #define __PCLMUL__ 1 547 // CHECK_CORE_AVX2_M64: #define __POPCNT__ 1 548 // CHECK_CORE_AVX2_M64: #define __RDRND__ 1 549 // CHECK_CORE_AVX2_M64: #define __RTM__ 1 550 // CHECK_CORE_AVX2_M64: #define __SSE2_MATH__ 1 551 // CHECK_CORE_AVX2_M64: #define __SSE2__ 1 552 // CHECK_CORE_AVX2_M64: #define __SSE3__ 1 553 // CHECK_CORE_AVX2_M64: #define __SSE4_1__ 1 554 // CHECK_CORE_AVX2_M64: #define __SSE4_2__ 1 555 // CHECK_CORE_AVX2_M64: #define __SSE_MATH__ 1 556 // CHECK_CORE_AVX2_M64: #define __SSE__ 1 557 // CHECK_CORE_AVX2_M64: #define __SSSE3__ 1 558 // CHECK_CORE_AVX2_M64: #define __amd64 1 559 // CHECK_CORE_AVX2_M64: #define __amd64__ 1 560 // CHECK_CORE_AVX2_M64: #define __corei7 1 561 // CHECK_CORE_AVX2_M64: #define __corei7__ 1 562 // CHECK_CORE_AVX2_M64: #define __tune_corei7__ 1 563 // CHECK_CORE_AVX2_M64: #define __x86_64 1 564 // CHECK_CORE_AVX2_M64: #define __x86_64__ 1 565 // 566 // RUN: %clang -march=atom -m32 -E -dM %s -o - 2>&1 \ 567 // RUN: -target i386-unknown-linux \ 568 // RUN: | FileCheck %s -check-prefix=CHECK_ATOM_M32 569 // CHECK_ATOM_M32: #define __MMX__ 1 570 // CHECK_ATOM_M32: #define __SSE2__ 1 571 // CHECK_ATOM_M32: #define __SSE3__ 1 572 // CHECK_ATOM_M32: #define __SSE__ 1 573 // CHECK_ATOM_M32: #define __SSSE3__ 1 574 // CHECK_ATOM_M32: #define __atom 1 575 // CHECK_ATOM_M32: #define __atom__ 1 576 // CHECK_ATOM_M32: #define __i386 1 577 // CHECK_ATOM_M32: #define __i386__ 1 578 // CHECK_ATOM_M32: #define __tune_atom__ 1 579 // CHECK_ATOM_M32: #define i386 1 580 // RUN: %clang -march=atom -m64 -E -dM %s -o - 2>&1 \ 581 // RUN: -target i386-unknown-linux \ 582 // RUN: | FileCheck %s -check-prefix=CHECK_ATOM_M64 583 // CHECK_ATOM_M64: #define __MMX__ 1 584 // CHECK_ATOM_M64: #define __SSE2_MATH__ 1 585 // CHECK_ATOM_M64: #define __SSE2__ 1 586 // CHECK_ATOM_M64: #define __SSE3__ 1 587 // CHECK_ATOM_M64: #define __SSE_MATH__ 1 588 // CHECK_ATOM_M64: #define __SSE__ 1 589 // CHECK_ATOM_M64: #define __SSSE3__ 1 590 // CHECK_ATOM_M64: #define __amd64 1 591 // CHECK_ATOM_M64: #define __amd64__ 1 592 // CHECK_ATOM_M64: #define __atom 1 593 // CHECK_ATOM_M64: #define __atom__ 1 594 // CHECK_ATOM_M64: #define __tune_atom__ 1 595 // CHECK_ATOM_M64: #define __x86_64 1 596 // CHECK_ATOM_M64: #define __x86_64__ 1 597 // 598 // RUN: %clang -march=geode -m32 -E -dM %s -o - 2>&1 \ 599 // RUN: -target i386-unknown-linux \ 600 // RUN: | FileCheck %s -check-prefix=CHECK_GEODE_M32 601 // CHECK_GEODE_M32: #define __3dNOW_A__ 1 602 // CHECK_GEODE_M32: #define __3dNOW__ 1 603 // CHECK_GEODE_M32: #define __MMX__ 1 604 // CHECK_GEODE_M32: #define __geode 1 605 // CHECK_GEODE_M32: #define __geode__ 1 606 // CHECK_GEODE_M32: #define __i386 1 607 // CHECK_GEODE_M32: #define __i386__ 1 608 // CHECK_GEODE_M32: #define __tune_geode__ 1 609 // CHECK_GEODE_M32: #define i386 1 610 // RUN: not %clang -march=geode -m64 -E -dM %s -o - 2>&1 \ 611 // RUN: -target i386-unknown-linux \ 612 // RUN: | FileCheck %s -check-prefix=CHECK_GEODE_M64 613 // CHECK_GEODE_M64: error: 614 // 615 // RUN: %clang -march=k6 -m32 -E -dM %s -o - 2>&1 \ 616 // RUN: -target i386-unknown-linux \ 617 // RUN: | FileCheck %s -check-prefix=CHECK_K6_M32 618 // CHECK_K6_M32: #define __MMX__ 1 619 // CHECK_K6_M32: #define __i386 1 620 // CHECK_K6_M32: #define __i386__ 1 621 // CHECK_K6_M32: #define __k6 1 622 // CHECK_K6_M32: #define __k6__ 1 623 // CHECK_K6_M32: #define __tune_k6__ 1 624 // CHECK_K6_M32: #define i386 1 625 // RUN: not %clang -march=k6 -m64 -E -dM %s -o - 2>&1 \ 626 // RUN: -target i386-unknown-linux \ 627 // RUN: | FileCheck %s -check-prefix=CHECK_K6_M64 628 // CHECK_K6_M64: error: 629 // 630 // RUN: %clang -march=k6-2 -m32 -E -dM %s -o - 2>&1 \ 631 // RUN: -target i386-unknown-linux \ 632 // RUN: | FileCheck %s -check-prefix=CHECK_K6_2_M32 633 // CHECK_K6_2_M32: #define __3dNOW__ 1 634 // CHECK_K6_2_M32: #define __MMX__ 1 635 // CHECK_K6_2_M32: #define __i386 1 636 // CHECK_K6_2_M32: #define __i386__ 1 637 // CHECK_K6_2_M32: #define __k6 1 638 // CHECK_K6_2_M32: #define __k6_2__ 1 639 // CHECK_K6_2_M32: #define __k6__ 1 640 // CHECK_K6_2_M32: #define __tune_k6_2__ 1 641 // CHECK_K6_2_M32: #define __tune_k6__ 1 642 // CHECK_K6_2_M32: #define i386 1 643 // RUN: not %clang -march=k6-2 -m64 -E -dM %s -o - 2>&1 \ 644 // RUN: -target i386-unknown-linux \ 645 // RUN: | FileCheck %s -check-prefix=CHECK_K6_2_M64 646 // CHECK_K6_2_M64: error: 647 // 648 // RUN: %clang -march=k6-3 -m32 -E -dM %s -o - 2>&1 \ 649 // RUN: -target i386-unknown-linux \ 650 // RUN: | FileCheck %s -check-prefix=CHECK_K6_3_M32 651 // CHECK_K6_3_M32: #define __3dNOW__ 1 652 // CHECK_K6_3_M32: #define __MMX__ 1 653 // CHECK_K6_3_M32: #define __i386 1 654 // CHECK_K6_3_M32: #define __i386__ 1 655 // CHECK_K6_3_M32: #define __k6 1 656 // CHECK_K6_3_M32: #define __k6_3__ 1 657 // CHECK_K6_3_M32: #define __k6__ 1 658 // CHECK_K6_3_M32: #define __tune_k6_3__ 1 659 // CHECK_K6_3_M32: #define __tune_k6__ 1 660 // CHECK_K6_3_M32: #define i386 1 661 // RUN: not %clang -march=k6-3 -m64 -E -dM %s -o - 2>&1 \ 662 // RUN: -target i386-unknown-linux \ 663 // RUN: | FileCheck %s -check-prefix=CHECK_K6_3_M64 664 // CHECK_K6_3_M64: error: 665 // 666 // RUN: %clang -march=athlon -m32 -E -dM %s -o - 2>&1 \ 667 // RUN: -target i386-unknown-linux \ 668 // RUN: | FileCheck %s -check-prefix=CHECK_ATHLON_M32 669 // CHECK_ATHLON_M32: #define __3dNOW_A__ 1 670 // CHECK_ATHLON_M32: #define __3dNOW__ 1 671 // CHECK_ATHLON_M32: #define __MMX__ 1 672 // CHECK_ATHLON_M32: #define __athlon 1 673 // CHECK_ATHLON_M32: #define __athlon__ 1 674 // CHECK_ATHLON_M32: #define __i386 1 675 // CHECK_ATHLON_M32: #define __i386__ 1 676 // CHECK_ATHLON_M32: #define __tune_athlon__ 1 677 // CHECK_ATHLON_M32: #define i386 1 678 // RUN: not %clang -march=athlon -m64 -E -dM %s -o - 2>&1 \ 679 // RUN: -target i386-unknown-linux \ 680 // RUN: | FileCheck %s -check-prefix=CHECK_ATHLON_M64 681 // CHECK_ATHLON_M64: error: 682 // 683 // RUN: %clang -march=athlon-tbird -m32 -E -dM %s -o - 2>&1 \ 684 // RUN: -target i386-unknown-linux \ 685 // RUN: | FileCheck %s -check-prefix=CHECK_ATHLON_TBIRD_M32 686 // CHECK_ATHLON_TBIRD_M32: #define __3dNOW_A__ 1 687 // CHECK_ATHLON_TBIRD_M32: #define __3dNOW__ 1 688 // CHECK_ATHLON_TBIRD_M32: #define __MMX__ 1 689 // CHECK_ATHLON_TBIRD_M32: #define __athlon 1 690 // CHECK_ATHLON_TBIRD_M32: #define __athlon__ 1 691 // CHECK_ATHLON_TBIRD_M32: #define __i386 1 692 // CHECK_ATHLON_TBIRD_M32: #define __i386__ 1 693 // CHECK_ATHLON_TBIRD_M32: #define __tune_athlon__ 1 694 // CHECK_ATHLON_TBIRD_M32: #define i386 1 695 // RUN: not %clang -march=athlon-tbird -m64 -E -dM %s -o - 2>&1 \ 696 // RUN: -target i386-unknown-linux \ 697 // RUN: | FileCheck %s -check-prefix=CHECK_ATHLON_TBIRD_M64 698 // CHECK_ATHLON_TBIRD_M64: error: 699 // 700 // RUN: %clang -march=athlon-4 -m32 -E -dM %s -o - 2>&1 \ 701 // RUN: -target i386-unknown-linux \ 702 // RUN: | FileCheck %s -check-prefix=CHECK_ATHLON_4_M32 703 // CHECK_ATHLON_4_M32: #define __3dNOW_A__ 1 704 // CHECK_ATHLON_4_M32: #define __3dNOW__ 1 705 // CHECK_ATHLON_4_M32: #define __MMX__ 1 706 // CHECK_ATHLON_4_M32: #define __SSE__ 1 707 // CHECK_ATHLON_4_M32: #define __athlon 1 708 // CHECK_ATHLON_4_M32: #define __athlon__ 1 709 // CHECK_ATHLON_4_M32: #define __athlon_sse__ 1 710 // CHECK_ATHLON_4_M32: #define __i386 1 711 // CHECK_ATHLON_4_M32: #define __i386__ 1 712 // CHECK_ATHLON_4_M32: #define __tune_athlon__ 1 713 // CHECK_ATHLON_4_M32: #define __tune_athlon_sse__ 1 714 // CHECK_ATHLON_4_M32: #define i386 1 715 // RUN: not %clang -march=athlon-4 -m64 -E -dM %s -o - 2>&1 \ 716 // RUN: -target i386-unknown-linux \ 717 // RUN: | FileCheck %s -check-prefix=CHECK_ATHLON_4_M64 718 // CHECK_ATHLON_4_M64: error: 719 // 720 // RUN: %clang -march=athlon-xp -m32 -E -dM %s -o - 2>&1 \ 721 // RUN: -target i386-unknown-linux \ 722 // RUN: | FileCheck %s -check-prefix=CHECK_ATHLON_XP_M32 723 // CHECK_ATHLON_XP_M32: #define __3dNOW_A__ 1 724 // CHECK_ATHLON_XP_M32: #define __3dNOW__ 1 725 // CHECK_ATHLON_XP_M32: #define __MMX__ 1 726 // CHECK_ATHLON_XP_M32: #define __SSE__ 1 727 // CHECK_ATHLON_XP_M32: #define __athlon 1 728 // CHECK_ATHLON_XP_M32: #define __athlon__ 1 729 // CHECK_ATHLON_XP_M32: #define __athlon_sse__ 1 730 // CHECK_ATHLON_XP_M32: #define __i386 1 731 // CHECK_ATHLON_XP_M32: #define __i386__ 1 732 // CHECK_ATHLON_XP_M32: #define __tune_athlon__ 1 733 // CHECK_ATHLON_XP_M32: #define __tune_athlon_sse__ 1 734 // CHECK_ATHLON_XP_M32: #define i386 1 735 // RUN: not %clang -march=athlon-xp -m64 -E -dM %s -o - 2>&1 \ 736 // RUN: -target i386-unknown-linux \ 737 // RUN: | FileCheck %s -check-prefix=CHECK_ATHLON_XP_M64 738 // CHECK_ATHLON_XP_M64: error: 739 // 740 // RUN: %clang -march=athlon-mp -m32 -E -dM %s -o - 2>&1 \ 741 // RUN: -target i386-unknown-linux \ 742 // RUN: | FileCheck %s -check-prefix=CHECK_ATHLON_MP_M32 743 // CHECK_ATHLON_MP_M32: #define __3dNOW_A__ 1 744 // CHECK_ATHLON_MP_M32: #define __3dNOW__ 1 745 // CHECK_ATHLON_MP_M32: #define __MMX__ 1 746 // CHECK_ATHLON_MP_M32: #define __SSE__ 1 747 // CHECK_ATHLON_MP_M32: #define __athlon 1 748 // CHECK_ATHLON_MP_M32: #define __athlon__ 1 749 // CHECK_ATHLON_MP_M32: #define __athlon_sse__ 1 750 // CHECK_ATHLON_MP_M32: #define __i386 1 751 // CHECK_ATHLON_MP_M32: #define __i386__ 1 752 // CHECK_ATHLON_MP_M32: #define __tune_athlon__ 1 753 // CHECK_ATHLON_MP_M32: #define __tune_athlon_sse__ 1 754 // CHECK_ATHLON_MP_M32: #define i386 1 755 // RUN: not %clang -march=athlon-mp -m64 -E -dM %s -o - 2>&1 \ 756 // RUN: -target i386-unknown-linux \ 757 // RUN: | FileCheck %s -check-prefix=CHECK_ATHLON_MP_M64 758 // CHECK_ATHLON_MP_M64: error: 759 // 760 // RUN: %clang -march=x86-64 -m32 -E -dM %s -o - 2>&1 \ 761 // RUN: -target i386-unknown-linux \ 762 // RUN: | FileCheck %s -check-prefix=CHECK_X86_64_M32 763 // CHECK_X86_64_M32: #define __MMX__ 1 764 // CHECK_X86_64_M32: #define __SSE2__ 1 765 // CHECK_X86_64_M32: #define __SSE__ 1 766 // CHECK_X86_64_M32: #define __i386 1 767 // CHECK_X86_64_M32: #define __i386__ 1 768 // CHECK_X86_64_M32: #define __k8 1 769 // CHECK_X86_64_M32: #define __k8__ 1 770 // CHECK_X86_64_M32: #define i386 1 771 // RUN: %clang -march=x86-64 -m64 -E -dM %s -o - 2>&1 \ 772 // RUN: -target i386-unknown-linux \ 773 // RUN: | FileCheck %s -check-prefix=CHECK_X86_64_M64 774 // CHECK_X86_64_M64: #define __MMX__ 1 775 // CHECK_X86_64_M64: #define __SSE2_MATH__ 1 776 // CHECK_X86_64_M64: #define __SSE2__ 1 777 // CHECK_X86_64_M64: #define __SSE_MATH__ 1 778 // CHECK_X86_64_M64: #define __SSE__ 1 779 // CHECK_X86_64_M64: #define __amd64 1 780 // CHECK_X86_64_M64: #define __amd64__ 1 781 // CHECK_X86_64_M64: #define __k8 1 782 // CHECK_X86_64_M64: #define __k8__ 1 783 // CHECK_X86_64_M64: #define __x86_64 1 784 // CHECK_X86_64_M64: #define __x86_64__ 1 785 // 786 // RUN: %clang -march=k8 -m32 -E -dM %s -o - 2>&1 \ 787 // RUN: -target i386-unknown-linux \ 788 // RUN: | FileCheck %s -check-prefix=CHECK_K8_M32 789 // CHECK_K8_M32: #define __3dNOW_A__ 1 790 // CHECK_K8_M32: #define __3dNOW__ 1 791 // CHECK_K8_M32: #define __MMX__ 1 792 // CHECK_K8_M32: #define __SSE2__ 1 793 // CHECK_K8_M32: #define __SSE__ 1 794 // CHECK_K8_M32: #define __i386 1 795 // CHECK_K8_M32: #define __i386__ 1 796 // CHECK_K8_M32: #define __k8 1 797 // CHECK_K8_M32: #define __k8__ 1 798 // CHECK_K8_M32: #define __tune_k8__ 1 799 // CHECK_K8_M32: #define i386 1 800 // RUN: %clang -march=k8 -m64 -E -dM %s -o - 2>&1 \ 801 // RUN: -target i386-unknown-linux \ 802 // RUN: | FileCheck %s -check-prefix=CHECK_K8_M64 803 // CHECK_K8_M64: #define __3dNOW_A__ 1 804 // CHECK_K8_M64: #define __3dNOW__ 1 805 // CHECK_K8_M64: #define __MMX__ 1 806 // CHECK_K8_M64: #define __SSE2_MATH__ 1 807 // CHECK_K8_M64: #define __SSE2__ 1 808 // CHECK_K8_M64: #define __SSE_MATH__ 1 809 // CHECK_K8_M64: #define __SSE__ 1 810 // CHECK_K8_M64: #define __amd64 1 811 // CHECK_K8_M64: #define __amd64__ 1 812 // CHECK_K8_M64: #define __k8 1 813 // CHECK_K8_M64: #define __k8__ 1 814 // CHECK_K8_M64: #define __tune_k8__ 1 815 // CHECK_K8_M64: #define __x86_64 1 816 // CHECK_K8_M64: #define __x86_64__ 1 817 // 818 // RUN: %clang -march=k8-sse3 -m32 -E -dM %s -o - 2>&1 \ 819 // RUN: -target i386-unknown-linux \ 820 // RUN: | FileCheck %s -check-prefix=CHECK_K8_SSE3_M32 821 // CHECK_K8_SSE3_M32: #define __3dNOW_A__ 1 822 // CHECK_K8_SSE3_M32: #define __3dNOW__ 1 823 // CHECK_K8_SSE3_M32: #define __MMX__ 1 824 // CHECK_K8_SSE3_M32: #define __SSE2__ 1 825 // CHECK_K8_SSE3_M32: #define __SSE3__ 1 826 // CHECK_K8_SSE3_M32: #define __SSE__ 1 827 // CHECK_K8_SSE3_M32: #define __i386 1 828 // CHECK_K8_SSE3_M32: #define __i386__ 1 829 // CHECK_K8_SSE3_M32: #define __k8 1 830 // CHECK_K8_SSE3_M32: #define __k8__ 1 831 // CHECK_K8_SSE3_M32: #define __tune_k8__ 1 832 // CHECK_K8_SSE3_M32: #define i386 1 833 // RUN: %clang -march=k8-sse3 -m64 -E -dM %s -o - 2>&1 \ 834 // RUN: -target i386-unknown-linux \ 835 // RUN: | FileCheck %s -check-prefix=CHECK_K8_SSE3_M64 836 // CHECK_K8_SSE3_M64: #define __3dNOW_A__ 1 837 // CHECK_K8_SSE3_M64: #define __3dNOW__ 1 838 // CHECK_K8_SSE3_M64: #define __MMX__ 1 839 // CHECK_K8_SSE3_M64: #define __SSE2_MATH__ 1 840 // CHECK_K8_SSE3_M64: #define __SSE2__ 1 841 // CHECK_K8_SSE3_M64: #define __SSE3__ 1 842 // CHECK_K8_SSE3_M64: #define __SSE_MATH__ 1 843 // CHECK_K8_SSE3_M64: #define __SSE__ 1 844 // CHECK_K8_SSE3_M64: #define __amd64 1 845 // CHECK_K8_SSE3_M64: #define __amd64__ 1 846 // CHECK_K8_SSE3_M64: #define __k8 1 847 // CHECK_K8_SSE3_M64: #define __k8__ 1 848 // CHECK_K8_SSE3_M64: #define __tune_k8__ 1 849 // CHECK_K8_SSE3_M64: #define __x86_64 1 850 // CHECK_K8_SSE3_M64: #define __x86_64__ 1 851 // 852 // RUN: %clang -march=opteron -m32 -E -dM %s -o - 2>&1 \ 853 // RUN: -target i386-unknown-linux \ 854 // RUN: | FileCheck %s -check-prefix=CHECK_OPTERON_M32 855 // CHECK_OPTERON_M32: #define __3dNOW_A__ 1 856 // CHECK_OPTERON_M32: #define __3dNOW__ 1 857 // CHECK_OPTERON_M32: #define __MMX__ 1 858 // CHECK_OPTERON_M32: #define __SSE2__ 1 859 // CHECK_OPTERON_M32: #define __SSE__ 1 860 // CHECK_OPTERON_M32: #define __i386 1 861 // CHECK_OPTERON_M32: #define __i386__ 1 862 // CHECK_OPTERON_M32: #define __k8 1 863 // CHECK_OPTERON_M32: #define __k8__ 1 864 // CHECK_OPTERON_M32: #define __tune_k8__ 1 865 // CHECK_OPTERON_M32: #define i386 1 866 // RUN: %clang -march=opteron -m64 -E -dM %s -o - 2>&1 \ 867 // RUN: -target i386-unknown-linux \ 868 // RUN: | FileCheck %s -check-prefix=CHECK_OPTERON_M64 869 // CHECK_OPTERON_M64: #define __3dNOW_A__ 1 870 // CHECK_OPTERON_M64: #define __3dNOW__ 1 871 // CHECK_OPTERON_M64: #define __MMX__ 1 872 // CHECK_OPTERON_M64: #define __SSE2_MATH__ 1 873 // CHECK_OPTERON_M64: #define __SSE2__ 1 874 // CHECK_OPTERON_M64: #define __SSE_MATH__ 1 875 // CHECK_OPTERON_M64: #define __SSE__ 1 876 // CHECK_OPTERON_M64: #define __amd64 1 877 // CHECK_OPTERON_M64: #define __amd64__ 1 878 // CHECK_OPTERON_M64: #define __k8 1 879 // CHECK_OPTERON_M64: #define __k8__ 1 880 // CHECK_OPTERON_M64: #define __tune_k8__ 1 881 // CHECK_OPTERON_M64: #define __x86_64 1 882 // CHECK_OPTERON_M64: #define __x86_64__ 1 883 // 884 // RUN: %clang -march=opteron-sse3 -m32 -E -dM %s -o - 2>&1 \ 885 // RUN: -target i386-unknown-linux \ 886 // RUN: | FileCheck %s -check-prefix=CHECK_OPTERON_SSE3_M32 887 // CHECK_OPTERON_SSE3_M32: #define __3dNOW_A__ 1 888 // CHECK_OPTERON_SSE3_M32: #define __3dNOW__ 1 889 // CHECK_OPTERON_SSE3_M32: #define __MMX__ 1 890 // CHECK_OPTERON_SSE3_M32: #define __SSE2__ 1 891 // CHECK_OPTERON_SSE3_M32: #define __SSE3__ 1 892 // CHECK_OPTERON_SSE3_M32: #define __SSE__ 1 893 // CHECK_OPTERON_SSE3_M32: #define __i386 1 894 // CHECK_OPTERON_SSE3_M32: #define __i386__ 1 895 // CHECK_OPTERON_SSE3_M32: #define __k8 1 896 // CHECK_OPTERON_SSE3_M32: #define __k8__ 1 897 // CHECK_OPTERON_SSE3_M32: #define __tune_k8__ 1 898 // CHECK_OPTERON_SSE3_M32: #define i386 1 899 // RUN: %clang -march=opteron-sse3 -m64 -E -dM %s -o - 2>&1 \ 900 // RUN: -target i386-unknown-linux \ 901 // RUN: | FileCheck %s -check-prefix=CHECK_OPTERON_SSE3_M64 902 // CHECK_OPTERON_SSE3_M64: #define __3dNOW_A__ 1 903 // CHECK_OPTERON_SSE3_M64: #define __3dNOW__ 1 904 // CHECK_OPTERON_SSE3_M64: #define __MMX__ 1 905 // CHECK_OPTERON_SSE3_M64: #define __SSE2_MATH__ 1 906 // CHECK_OPTERON_SSE3_M64: #define __SSE2__ 1 907 // CHECK_OPTERON_SSE3_M64: #define __SSE3__ 1 908 // CHECK_OPTERON_SSE3_M64: #define __SSE_MATH__ 1 909 // CHECK_OPTERON_SSE3_M64: #define __SSE__ 1 910 // CHECK_OPTERON_SSE3_M64: #define __amd64 1 911 // CHECK_OPTERON_SSE3_M64: #define __amd64__ 1 912 // CHECK_OPTERON_SSE3_M64: #define __k8 1 913 // CHECK_OPTERON_SSE3_M64: #define __k8__ 1 914 // CHECK_OPTERON_SSE3_M64: #define __tune_k8__ 1 915 // CHECK_OPTERON_SSE3_M64: #define __x86_64 1 916 // CHECK_OPTERON_SSE3_M64: #define __x86_64__ 1 917 // 918 // RUN: %clang -march=athlon64 -m32 -E -dM %s -o - 2>&1 \ 919 // RUN: -target i386-unknown-linux \ 920 // RUN: | FileCheck %s -check-prefix=CHECK_ATHLON64_M32 921 // CHECK_ATHLON64_M32: #define __3dNOW_A__ 1 922 // CHECK_ATHLON64_M32: #define __3dNOW__ 1 923 // CHECK_ATHLON64_M32: #define __MMX__ 1 924 // CHECK_ATHLON64_M32: #define __SSE2__ 1 925 // CHECK_ATHLON64_M32: #define __SSE__ 1 926 // CHECK_ATHLON64_M32: #define __i386 1 927 // CHECK_ATHLON64_M32: #define __i386__ 1 928 // CHECK_ATHLON64_M32: #define __k8 1 929 // CHECK_ATHLON64_M32: #define __k8__ 1 930 // CHECK_ATHLON64_M32: #define __tune_k8__ 1 931 // CHECK_ATHLON64_M32: #define i386 1 932 // RUN: %clang -march=athlon64 -m64 -E -dM %s -o - 2>&1 \ 933 // RUN: -target i386-unknown-linux \ 934 // RUN: | FileCheck %s -check-prefix=CHECK_ATHLON64_M64 935 // CHECK_ATHLON64_M64: #define __3dNOW_A__ 1 936 // CHECK_ATHLON64_M64: #define __3dNOW__ 1 937 // CHECK_ATHLON64_M64: #define __MMX__ 1 938 // CHECK_ATHLON64_M64: #define __SSE2_MATH__ 1 939 // CHECK_ATHLON64_M64: #define __SSE2__ 1 940 // CHECK_ATHLON64_M64: #define __SSE_MATH__ 1 941 // CHECK_ATHLON64_M64: #define __SSE__ 1 942 // CHECK_ATHLON64_M64: #define __amd64 1 943 // CHECK_ATHLON64_M64: #define __amd64__ 1 944 // CHECK_ATHLON64_M64: #define __k8 1 945 // CHECK_ATHLON64_M64: #define __k8__ 1 946 // CHECK_ATHLON64_M64: #define __tune_k8__ 1 947 // CHECK_ATHLON64_M64: #define __x86_64 1 948 // CHECK_ATHLON64_M64: #define __x86_64__ 1 949 // 950 // RUN: %clang -march=athlon64-sse3 -m32 -E -dM %s -o - 2>&1 \ 951 // RUN: -target i386-unknown-linux \ 952 // RUN: | FileCheck %s -check-prefix=CHECK_ATHLON64_SSE3_M32 953 // CHECK_ATHLON64_SSE3_M32: #define __3dNOW_A__ 1 954 // CHECK_ATHLON64_SSE3_M32: #define __3dNOW__ 1 955 // CHECK_ATHLON64_SSE3_M32: #define __MMX__ 1 956 // CHECK_ATHLON64_SSE3_M32: #define __SSE2__ 1 957 // CHECK_ATHLON64_SSE3_M32: #define __SSE3__ 1 958 // CHECK_ATHLON64_SSE3_M32: #define __SSE__ 1 959 // CHECK_ATHLON64_SSE3_M32: #define __i386 1 960 // CHECK_ATHLON64_SSE3_M32: #define __i386__ 1 961 // CHECK_ATHLON64_SSE3_M32: #define __k8 1 962 // CHECK_ATHLON64_SSE3_M32: #define __k8__ 1 963 // CHECK_ATHLON64_SSE3_M32: #define __tune_k8__ 1 964 // CHECK_ATHLON64_SSE3_M32: #define i386 1 965 // RUN: %clang -march=athlon64-sse3 -m64 -E -dM %s -o - 2>&1 \ 966 // RUN: -target i386-unknown-linux \ 967 // RUN: | FileCheck %s -check-prefix=CHECK_ATHLON64_SSE3_M64 968 // CHECK_ATHLON64_SSE3_M64: #define __3dNOW_A__ 1 969 // CHECK_ATHLON64_SSE3_M64: #define __3dNOW__ 1 970 // CHECK_ATHLON64_SSE3_M64: #define __MMX__ 1 971 // CHECK_ATHLON64_SSE3_M64: #define __SSE2_MATH__ 1 972 // CHECK_ATHLON64_SSE3_M64: #define __SSE2__ 1 973 // CHECK_ATHLON64_SSE3_M64: #define __SSE3__ 1 974 // CHECK_ATHLON64_SSE3_M64: #define __SSE_MATH__ 1 975 // CHECK_ATHLON64_SSE3_M64: #define __SSE__ 1 976 // CHECK_ATHLON64_SSE3_M64: #define __amd64 1 977 // CHECK_ATHLON64_SSE3_M64: #define __amd64__ 1 978 // CHECK_ATHLON64_SSE3_M64: #define __k8 1 979 // CHECK_ATHLON64_SSE3_M64: #define __k8__ 1 980 // CHECK_ATHLON64_SSE3_M64: #define __tune_k8__ 1 981 // CHECK_ATHLON64_SSE3_M64: #define __x86_64 1 982 // CHECK_ATHLON64_SSE3_M64: #define __x86_64__ 1 983 // 984 // RUN: %clang -march=athlon-fx -m32 -E -dM %s -o - 2>&1 \ 985 // RUN: -target i386-unknown-linux \ 986 // RUN: | FileCheck %s -check-prefix=CHECK_ATHLON_FX_M32 987 // CHECK_ATHLON_FX_M32: #define __3dNOW_A__ 1 988 // CHECK_ATHLON_FX_M32: #define __3dNOW__ 1 989 // CHECK_ATHLON_FX_M32: #define __MMX__ 1 990 // CHECK_ATHLON_FX_M32: #define __SSE2__ 1 991 // CHECK_ATHLON_FX_M32: #define __SSE__ 1 992 // CHECK_ATHLON_FX_M32: #define __i386 1 993 // CHECK_ATHLON_FX_M32: #define __i386__ 1 994 // CHECK_ATHLON_FX_M32: #define __k8 1 995 // CHECK_ATHLON_FX_M32: #define __k8__ 1 996 // CHECK_ATHLON_FX_M32: #define __tune_k8__ 1 997 // CHECK_ATHLON_FX_M32: #define i386 1 998 // RUN: %clang -march=athlon-fx -m64 -E -dM %s -o - 2>&1 \ 999 // RUN: -target i386-unknown-linux \ 1000 // RUN: | FileCheck %s -check-prefix=CHECK_ATHLON_FX_M64 1001 // CHECK_ATHLON_FX_M64: #define __3dNOW_A__ 1 1002 // CHECK_ATHLON_FX_M64: #define __3dNOW__ 1 1003 // CHECK_ATHLON_FX_M64: #define __MMX__ 1 1004 // CHECK_ATHLON_FX_M64: #define __SSE2_MATH__ 1 1005 // CHECK_ATHLON_FX_M64: #define __SSE2__ 1 1006 // CHECK_ATHLON_FX_M64: #define __SSE_MATH__ 1 1007 // CHECK_ATHLON_FX_M64: #define __SSE__ 1 1008 // CHECK_ATHLON_FX_M64: #define __amd64 1 1009 // CHECK_ATHLON_FX_M64: #define __amd64__ 1 1010 // CHECK_ATHLON_FX_M64: #define __k8 1 1011 // CHECK_ATHLON_FX_M64: #define __k8__ 1 1012 // CHECK_ATHLON_FX_M64: #define __tune_k8__ 1 1013 // CHECK_ATHLON_FX_M64: #define __x86_64 1 1014 // CHECK_ATHLON_FX_M64: #define __x86_64__ 1 1015 // RUN: %clang -march=amdfam10 -m32 -E -dM %s -o - 2>&1 \ 1016 // RUN: -target i386-unknown-linux \ 1017 // RUN: | FileCheck %s -check-prefix=CHECK_AMDFAM10_M32 1018 // CHECK_AMDFAM10_M32: #define __3dNOW_A__ 1 1019 // CHECK_AMDFAM10_M32: #define __3dNOW__ 1 1020 // CHECK_AMDFAM10_M32: #define __LZCNT__ 1 1021 // CHECK_AMDFAM10_M32: #define __MMX__ 1 1022 // CHECK_AMDFAM10_M32: #define __POPCNT__ 1 1023 // CHECK_AMDFAM10_M32: #define __SSE2_MATH__ 1 1024 // CHECK_AMDFAM10_M32: #define __SSE2__ 1 1025 // CHECK_AMDFAM10_M32: #define __SSE3__ 1 1026 // CHECK_AMDFAM10_M32: #define __SSE4A__ 1 1027 // CHECK_AMDFAM10_M32: #define __SSE_MATH__ 1 1028 // CHECK_AMDFAM10_M32: #define __SSE__ 1 1029 // CHECK_AMDFAM10_M32: #define __amdfam10 1 1030 // CHECK_AMDFAM10_M32: #define __amdfam10__ 1 1031 // CHECK_AMDFAM10_M32: #define __i386 1 1032 // CHECK_AMDFAM10_M32: #define __i386__ 1 1033 // CHECK_AMDFAM10_M32: #define __tune_amdfam10__ 1 1034 // RUN: %clang -march=amdfam10 -m64 -E -dM %s -o - 2>&1 \ 1035 // RUN: -target i386-unknown-linux \ 1036 // RUN: | FileCheck %s -check-prefix=CHECK_AMDFAM10_M64 1037 // CHECK_AMDFAM10_M64: #define __3dNOW_A__ 1 1038 // CHECK_AMDFAM10_M64: #define __3dNOW__ 1 1039 // CHECK_AMDFAM10_M64: #define __LZCNT__ 1 1040 // CHECK_AMDFAM10_M64: #define __MMX__ 1 1041 // CHECK_AMDFAM10_M64: #define __POPCNT__ 1 1042 // CHECK_AMDFAM10_M64: #define __SSE2_MATH__ 1 1043 // CHECK_AMDFAM10_M64: #define __SSE2__ 1 1044 // CHECK_AMDFAM10_M64: #define __SSE3__ 1 1045 // CHECK_AMDFAM10_M64: #define __SSE4A__ 1 1046 // CHECK_AMDFAM10_M64: #define __SSE_MATH__ 1 1047 // CHECK_AMDFAM10_M64: #define __SSE__ 1 1048 // CHECK_AMDFAM10_M64: #define __amd64 1 1049 // CHECK_AMDFAM10_M64: #define __amd64__ 1 1050 // CHECK_AMDFAM10_M64: #define __amdfam10 1 1051 // CHECK_AMDFAM10_M64: #define __amdfam10__ 1 1052 // CHECK_AMDFAM10_M64: #define __tune_amdfam10__ 1 1053 // CHECK_AMDFAM10_M64: #define __x86_64 1 1054 // CHECK_AMDFAM10_M64: #define __x86_64__ 1 1055 // RUN: %clang -march=btver1 -m32 -E -dM %s -o - 2>&1 \ 1056 // RUN: -target i386-unknown-linux \ 1057 // RUN: | FileCheck %s -check-prefix=CHECK_BTVER1_M32 1058 // CHECK_BTVER1_M32-NOT: #define __3dNOW_A__ 1 1059 // CHECK_BTVER1_M32-NOT: #define __3dNOW__ 1 1060 // CHECK_BTVER1_M32: #define __LZCNT__ 1 1061 // CHECK_BTVER1_M32: #define __MMX__ 1 1062 // CHECK_BTVER1_M32: #define __POPCNT__ 1 1063 // CHECK_BTVER1_M32: #define __SSE2_MATH__ 1 1064 // CHECK_BTVER1_M32: #define __SSE2__ 1 1065 // CHECK_BTVER1_M32: #define __SSE3__ 1 1066 // CHECK_BTVER1_M32: #define __SSE4A__ 1 1067 // CHECK_BTVER1_M32: #define __SSE_MATH__ 1 1068 // CHECK_BTVER1_M32: #define __SSE__ 1 1069 // CHECK_BTVER1_M32: #define __SSSE3__ 1 1070 // CHECK_BTVER1_M32: #define __btver1 1 1071 // CHECK_BTVER1_M32: #define __btver1__ 1 1072 // CHECK_BTVER1_M32: #define __i386 1 1073 // CHECK_BTVER1_M32: #define __i386__ 1 1074 // CHECK_BTVER1_M32: #define __tune_btver1__ 1 1075 // RUN: %clang -march=btver1 -m64 -E -dM %s -o - 2>&1 \ 1076 // RUN: -target i386-unknown-linux \ 1077 // RUN: | FileCheck %s -check-prefix=CHECK_BTVER1_M64 1078 // CHECK_BTVER1_M64-NOT: #define __3dNOW_A__ 1 1079 // CHECK_BTVER1_M64-NOT: #define __3dNOW__ 1 1080 // CHECK_BTVER1_M64: #define __LZCNT__ 1 1081 // CHECK_BTVER1_M64: #define __MMX__ 1 1082 // CHECK_BTVER1_M64: #define __POPCNT__ 1 1083 // CHECK_BTVER1_M64: #define __SSE2_MATH__ 1 1084 // CHECK_BTVER1_M64: #define __SSE2__ 1 1085 // CHECK_BTVER1_M64: #define __SSE3__ 1 1086 // CHECK_BTVER1_M64: #define __SSE4A__ 1 1087 // CHECK_BTVER1_M64: #define __SSE_MATH__ 1 1088 // CHECK_BTVER1_M64: #define __SSE__ 1 1089 // CHECK_BTVER1_M64: #define __SSSE3__ 1 1090 // CHECK_BTVER1_M64: #define __amd64 1 1091 // CHECK_BTVER1_M64: #define __amd64__ 1 1092 // CHECK_BTVER1_M64: #define __btver1 1 1093 // CHECK_BTVER1_M64: #define __btver1__ 1 1094 // CHECK_BTVER1_M64: #define __tune_btver1__ 1 1095 // CHECK_BTVER1_M64: #define __x86_64 1 1096 // CHECK_BTVER1_M64: #define __x86_64__ 1 1097 // RUN: %clang -march=btver2 -m32 -E -dM %s -o - 2>&1 \ 1098 // RUN: -target i386-unknown-linux \ 1099 // RUN: | FileCheck %s -check-prefix=CHECK_BTVER2_M32 1100 // CHECK_BTVER2_M32-NOT: #define __3dNOW_A__ 1 1101 // CHECK_BTVER2_M32-NOT: #define __3dNOW__ 1 1102 // CHECK_BTVER2_M32: #define __AES__ 1 1103 // CHECK_BTVER2_M32: #define __AVX__ 1 1104 // CHECK_BTVER2_M32: #define __LZCNT__ 1 1105 // CHECK_BTVER2_M32: #define __MMX__ 1 1106 // CHECK_BTVER2_M32: #define __POPCNT__ 1 1107 // CHECK_BTVER2_M32: #define __SSE2_MATH__ 1 1108 // CHECK_BTVER2_M32: #define __SSE2__ 1 1109 // CHECK_BTVER2_M32: #define __SSE3__ 1 1110 // CHECK_BTVER2_M32: #define __SSE4A__ 1 1111 // CHECK_BTVER2_M32: #define __SSE_MATH__ 1 1112 // CHECK_BTVER2_M32: #define __SSE__ 1 1113 // CHECK_BTVER2_M32: #define __SSSE3__ 1 1114 // CHECK_BTVER2_M32: #define __btver2 1 1115 // CHECK_BTVER2_M32: #define __btver2__ 1 1116 // CHECK_BTVER2_M32: #define __i386 1 1117 // CHECK_BTVER2_M32: #define __i386__ 1 1118 // CHECK_BTVER2_M32: #define __tune_btver2__ 1 1119 // RUN: %clang -march=btver2 -m64 -E -dM %s -o - 2>&1 \ 1120 // RUN: -target i386-unknown-linux \ 1121 // RUN: | FileCheck %s -check-prefix=CHECK_BTVER2_M64 1122 // CHECK_BTVER2_M64-NOT: #define __3dNOW_A__ 1 1123 // CHECK_BTVER2_M64-NOT: #define __3dNOW__ 1 1124 // CHECK_BTVER2_M64: #define __AES__ 1 1125 // CHECK_BTVER2_M64: #define __AVX__ 1 1126 // CHECK_BTVER2_M64: #define __LZCNT__ 1 1127 // CHECK_BTVER2_M64: #define __MMX__ 1 1128 // CHECK_BTVER2_M64: #define __POPCNT__ 1 1129 // CHECK_BTVER2_M64: #define __SSE2_MATH__ 1 1130 // CHECK_BTVER2_M64: #define __SSE2__ 1 1131 // CHECK_BTVER2_M64: #define __SSE3__ 1 1132 // CHECK_BTVER2_M64: #define __SSE4A__ 1 1133 // CHECK_BTVER2_M64: #define __SSE_MATH__ 1 1134 // CHECK_BTVER2_M64: #define __SSE__ 1 1135 // CHECK_BTVER2_M64: #define __SSSE3__ 1 1136 // CHECK_BTVER2_M64: #define __amd64 1 1137 // CHECK_BTVER2_M64: #define __amd64__ 1 1138 // CHECK_BTVER2_M64: #define __btver2 1 1139 // CHECK_BTVER2_M64: #define __btver2__ 1 1140 // CHECK_BTVER2_M64: #define __tune_btver2__ 1 1141 // CHECK_BTVER2_M64: #define __x86_64 1 1142 // CHECK_BTVER2_M64: #define __x86_64__ 1 1143 // RUN: %clang -march=bdver1 -m32 -E -dM %s -o - 2>&1 \ 1144 // RUN: -target i386-unknown-linux \ 1145 // RUN: | FileCheck %s -check-prefix=CHECK_BDVER1_M32 1146 // CHECK_BDVER1_M32-NOT: #define __3dNOW_A__ 1 1147 // CHECK_BDVER1_M32-NOT: #define __3dNOW__ 1 1148 // CHECK_BDVER1_M32: #define __AES__ 1 1149 // CHECK_BDVER1_M32: #define __AVX__ 1 1150 // CHECK_BDVER1_M32: #define __FMA4__ 1 1151 // CHECK_BDVER1_M32: #define __LZCNT__ 1 1152 // CHECK_BDVER1_M32: #define __MMX__ 1 1153 // CHECK_BDVER1_M32: #define __PCLMUL__ 1 1154 // CHECK_BDVER1_M32: #define __POPCNT__ 1 1155 // CHECK_BDVER1_M32: #define __SSE2_MATH__ 1 1156 // CHECK_BDVER1_M32: #define __SSE2__ 1 1157 // CHECK_BDVER1_M32: #define __SSE3__ 1 1158 // CHECK_BDVER1_M32: #define __SSE4A__ 1 1159 // CHECK_BDVER1_M32: #define __SSE4_1__ 1 1160 // CHECK_BDVER1_M32: #define __SSE4_2__ 1 1161 // CHECK_BDVER1_M32: #define __SSE_MATH__ 1 1162 // CHECK_BDVER1_M32: #define __SSE__ 1 1163 // CHECK_BDVER1_M32: #define __SSSE3__ 1 1164 // CHECK_BDVER1_M32: #define __XOP__ 1 1165 // CHECK_BDVER1_M32: #define __bdver1 1 1166 // CHECK_BDVER1_M32: #define __bdver1__ 1 1167 // CHECK_BDVER1_M32: #define __i386 1 1168 // CHECK_BDVER1_M32: #define __i386__ 1 1169 // CHECK_BDVER1_M32: #define __tune_bdver1__ 1 1170 // RUN: %clang -march=bdver1 -m64 -E -dM %s -o - 2>&1 \ 1171 // RUN: -target i386-unknown-linux \ 1172 // RUN: | FileCheck %s -check-prefix=CHECK_BDVER1_M64 1173 // CHECK_BDVER1_M64-NOT: #define __3dNOW_A__ 1 1174 // CHECK_BDVER1_M64-NOT: #define __3dNOW__ 1 1175 // CHECK_BDVER1_M64: #define __AES__ 1 1176 // CHECK_BDVER1_M64: #define __AVX__ 1 1177 // CHECK_BDVER1_M64: #define __FMA4__ 1 1178 // CHECK_BDVER1_M64: #define __LZCNT__ 1 1179 // CHECK_BDVER1_M64: #define __MMX__ 1 1180 // CHECK_BDVER1_M64: #define __PCLMUL__ 1 1181 // CHECK_BDVER1_M64: #define __POPCNT__ 1 1182 // CHECK_BDVER1_M64: #define __SSE2_MATH__ 1 1183 // CHECK_BDVER1_M64: #define __SSE2__ 1 1184 // CHECK_BDVER1_M64: #define __SSE3__ 1 1185 // CHECK_BDVER1_M64: #define __SSE4A__ 1 1186 // CHECK_BDVER1_M64: #define __SSE4_1__ 1 1187 // CHECK_BDVER1_M64: #define __SSE4_2__ 1 1188 // CHECK_BDVER1_M64: #define __SSE_MATH__ 1 1189 // CHECK_BDVER1_M64: #define __SSE__ 1 1190 // CHECK_BDVER1_M64: #define __SSSE3__ 1 1191 // CHECK_BDVER1_M64: #define __XOP__ 1 1192 // CHECK_BDVER1_M64: #define __amd64 1 1193 // CHECK_BDVER1_M64: #define __amd64__ 1 1194 // CHECK_BDVER1_M64: #define __bdver1 1 1195 // CHECK_BDVER1_M64: #define __bdver1__ 1 1196 // CHECK_BDVER1_M64: #define __tune_bdver1__ 1 1197 // CHECK_BDVER1_M64: #define __x86_64 1 1198 // CHECK_BDVER1_M64: #define __x86_64__ 1 1199 // RUN: %clang -march=bdver2 -m32 -E -dM %s -o - 2>&1 \ 1200 // RUN: -target i386-unknown-linux \ 1201 // RUN: | FileCheck %s -check-prefix=CHECK_BDVER2_M32 1202 // CHECK_BDVER2_M32-NOT: #define __3dNOW_A__ 1 1203 // CHECK_BDVER2_M32-NOT: #define __3dNOW__ 1 1204 // CHECK_BDVER2_M32: #define __AES__ 1 1205 // CHECK_BDVER2_M32: #define __AVX__ 1 1206 // CHECK_BDVER2_M32: #define __BMI__ 1 1207 // CHECK_BDVER2_M32: #define __F16C__ 1 1208 // CHECK_BDVER2_M32: #define __FMA4__ 1 1209 // CHECK_BDVER2_M32: #define __FMA__ 1 1210 // CHECK_BDVER2_M32: #define __LZCNT__ 1 1211 // CHECK_BDVER2_M32: #define __MMX__ 1 1212 // CHECK_BDVER2_M32: #define __PCLMUL__ 1 1213 // CHECK_BDVER2_M32: #define __POPCNT__ 1 1214 // CHECK_BDVER2_M32: #define __SSE2_MATH__ 1 1215 // CHECK_BDVER2_M32: #define __SSE2__ 1 1216 // CHECK_BDVER2_M32: #define __SSE3__ 1 1217 // CHECK_BDVER2_M32: #define __SSE4A__ 1 1218 // CHECK_BDVER2_M32: #define __SSE4_1__ 1 1219 // CHECK_BDVER2_M32: #define __SSE4_2__ 1 1220 // CHECK_BDVER2_M32: #define __SSE_MATH__ 1 1221 // CHECK_BDVER2_M32: #define __SSE__ 1 1222 // CHECK_BDVER2_M32: #define __SSSE3__ 1 1223 // CHECK_BDVER2_M32: #define __XOP__ 1 1224 // CHECK_BDVER2_M32: #define __bdver2 1 1225 // CHECK_BDVER2_M32: #define __bdver2__ 1 1226 // CHECK_BDVER2_M32: #define __i386 1 1227 // CHECK_BDVER2_M32: #define __i386__ 1 1228 // CHECK_BDVER2_M32: #define __tune_bdver2__ 1 1229 // RUN: %clang -march=bdver2 -m64 -E -dM %s -o - 2>&1 \ 1230 // RUN: -target i386-unknown-linux \ 1231 // RUN: | FileCheck %s -check-prefix=CHECK_BDVER2_M64 1232 // CHECK_BDVER2_M64-NOT: #define __3dNOW_A__ 1 1233 // CHECK_BDVER2_M64-NOT: #define __3dNOW__ 1 1234 // CHECK_BDVER2_M64: #define __AES__ 1 1235 // CHECK_BDVER2_M64: #define __AVX__ 1 1236 // CHECK_BDVER2_M64: #define __BMI__ 1 1237 // CHECK_BDVER2_M64: #define __F16C__ 1 1238 // CHECK_BDVER2_M64: #define __FMA4__ 1 1239 // CHECK_BDVER2_M64: #define __FMA__ 1 1240 // CHECK_BDVER2_M64: #define __LZCNT__ 1 1241 // CHECK_BDVER2_M64: #define __MMX__ 1 1242 // CHECK_BDVER2_M64: #define __PCLMUL__ 1 1243 // CHECK_BDVER2_M64: #define __POPCNT__ 1 1244 // CHECK_BDVER2_M64: #define __SSE2_MATH__ 1 1245 // CHECK_BDVER2_M64: #define __SSE2__ 1 1246 // CHECK_BDVER2_M64: #define __SSE3__ 1 1247 // CHECK_BDVER2_M64: #define __SSE4A__ 1 1248 // CHECK_BDVER2_M64: #define __SSE4_1__ 1 1249 // CHECK_BDVER2_M64: #define __SSE4_2__ 1 1250 // CHECK_BDVER2_M64: #define __SSE_MATH__ 1 1251 // CHECK_BDVER2_M64: #define __SSE__ 1 1252 // CHECK_BDVER2_M64: #define __SSSE3__ 1 1253 // CHECK_BDVER2_M64: #define __XOP__ 1 1254 // CHECK_BDVER2_M64: #define __amd64 1 1255 // CHECK_BDVER2_M64: #define __amd64__ 1 1256 // CHECK_BDVER2_M64: #define __bdver2 1 1257 // CHECK_BDVER2_M64: #define __bdver2__ 1 1258 // CHECK_BDVER2_M64: #define __tune_bdver2__ 1 1259 // CHECK_BDVER2_M64: #define __x86_64 1 1260 // CHECK_BDVER2_M64: #define __x86_64__ 1 1261 // 1262 // End X86/GCC/Linux tests ------------------ 1263