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