1 // RUN: %clang_cc1 -verify -triple x86_64-linux-gnu -emit-llvm -o - %s 2 // RUN: %clang_cc1 -verify -triple x86_64-windows-pc -fms-compatibility -emit-llvm -o - %s 3 4 // expected-no-diagnostics 5 6 #ifdef _WIN64 7 #define ATTR(X) __declspec(X) 8 #else 9 #define ATTR(X) __attribute__((X)) 10 #endif // _WIN64 11 12 ATTR(cpu_specific(generic)) void CPU(void){} 13 ATTR(cpu_specific(pentium)) void CPU(void){} 14 ATTR(cpu_specific(pentium_pro)) void CPU(void){} 15 ATTR(cpu_specific(pentium_mmx)) void CPU(void){} 16 ATTR(cpu_specific(pentium_ii)) void CPU(void){} 17 ATTR(cpu_specific(pentium_iii)) void CPU(void){} 18 ATTR(cpu_specific(pentium_4)) void CPU(void){} 19 ATTR(cpu_specific(pentium_m)) void CPU(void){} 20 ATTR(cpu_specific(pentium_4_sse3)) void CPU(void){} 21 ATTR(cpu_specific(core_2_duo_ssse3)) void CPU(void){} 22 ATTR(cpu_specific(core_2_duo_sse4_1)) void CPU(void){} 23 ATTR(cpu_specific(atom)) void CPU(void){} 24 ATTR(cpu_specific(atom_sse4_2)) void CPU(void){} 25 ATTR(cpu_specific(core_i7_sse4_2)) void CPU(void){} 26 ATTR(cpu_specific(core_aes_pclmulqdq)) void CPU(void){} 27 ATTR(cpu_specific(atom_sse4_2_movbe)) void CPU(void){} 28 ATTR(cpu_specific(goldmont)) void CPU(void){} 29 ATTR(cpu_specific(sandybridge)) void CPU(void){} 30 ATTR(cpu_specific(ivybridge)) void CPU(void){} 31 ATTR(cpu_specific(haswell)) void CPU(void){} 32 ATTR(cpu_specific(core_4th_gen_avx_tsx)) void CPU(void){} 33 ATTR(cpu_specific(broadwell)) void CPU(void){} 34 ATTR(cpu_specific(core_5th_gen_avx_tsx)) void CPU(void){} 35 ATTR(cpu_specific(knl)) void CPU(void){} 36 ATTR(cpu_specific(skylake)) void CPU(void){} 37 ATTR(cpu_specific(skylake_avx512)) void CPU(void){} 38 ATTR(cpu_specific(cannonlake)) void CPU(void){} 39 ATTR(cpu_specific(knm)) void CPU(void){} 40 ATTR(cpu_specific(cascadelake)) void CPU(void){} 41 ATTR(cpu_specific(cooperlake)) void CPU(void){} 42 ATTR(cpu_specific(icelake_client)) void CPU(void){} 43 ATTR(cpu_specific(tigerlake)) void CPU(void){} 44 ATTR(cpu_specific(alderlake)) void CPU(void){} 45 ATTR(cpu_specific(sapphirerapids)) void CPU(void){} 46 ATTR(cpu_specific(diamondrapids)) void CPU(void){} 47 48 // ALIAS CPUs 49 ATTR(cpu_specific(pentium_iii_no_xmm_regs)) void CPU0(void){} 50 ATTR(cpu_specific(core_2nd_gen_avx)) void CPU1(void){} 51 ATTR(cpu_specific(core_3rd_gen_avx)) void CPU2(void){} 52 ATTR(cpu_specific(core_4th_gen_avx)) void CPU3(void){} 53 ATTR(cpu_specific(core_5th_gen_avx)) void CPU4(void){} 54 ATTR(cpu_specific(mic_avx512)) void CPU5(void){} 55 ATTR(cpu_specific(pentiumpro)) void CPU6(void){} 56 ATTR(cpu_specific(pentium3)) void CPU7(void){} 57 ATTR(cpu_specific(pentium3m)) void CPU8(void){} 58 ATTR(cpu_specific(pentium4)) void CPU9(void){} 59 ATTR(cpu_specific(pentium4m)) void CPU10(void){} 60 ATTR(cpu_specific(yonah)) void CPU11(void){} 61 ATTR(cpu_specific(prescott)) void CPU12(void){} 62 ATTR(cpu_specific(nocona)) void CPU13(void){} 63 ATTR(cpu_specific(core2)) void CPU14(void){} 64 ATTR(cpu_specific(penryn)) void CPU15(void){} 65 ATTR(cpu_specific(bonnell)) void CPU16(void){} 66 ATTR(cpu_specific(silvermont)) void CPU17(void){} 67 ATTR(cpu_specific(slm)) void CPU18(void){} 68 ATTR(cpu_specific(goldmont_plus)) void CPU19(void){} 69 ATTR(cpu_specific(tremont)) void CPU20(void){} 70 ATTR(cpu_specific(nehalem)) void CPU21(void){} 71 ATTR(cpu_specific(corei7)) void CPU22(void){} 72 ATTR(cpu_specific(westmere)) void CPU23(void){} 73 ATTR(cpu_specific(sandybridge)) void CPU24(void){} 74 ATTR(cpu_specific(skx)) void CPU25(void){} 75 ATTR(cpu_specific(rocketlake)) void CPU26(void){} 76 ATTR(cpu_specific(icelake_server)) void CPU27(void){} 77 ATTR(cpu_specific(raptorlake)) void CPU28(void){} 78 ATTR(cpu_specific(meteorlake)) void CPU29(void){} 79 ATTR(cpu_specific(sierraforest)) void CPU30(void){} 80 ATTR(cpu_specific(grandridge)) void CPU31(void){} 81 ATTR(cpu_specific(graniterapids)) void CPU32(void){} 82 ATTR(cpu_specific(emeraldrapids)) void CPU33(void){} 83 ATTR(cpu_specific(graniterapids_d)) void CPU34(void){} 84 ATTR(cpu_specific(arrowlake)) void CPU35(void){} 85 ATTR(cpu_specific(arrowlake_s)) void CPU36(void){} 86 ATTR(cpu_specific(lunarlake)) void CPU37(void){} 87 ATTR(cpu_specific(gracemont)) void CPU38(void){} 88 ATTR(cpu_specific(pantherlake)) void CPU39(void){} 89 ATTR(cpu_specific(clearwaterforest)) void CPU40(void){} 90