1/* Test whether all of the 32-bit function specific options are accepted 2 without error. */ 3/* { dg-do compile } */ 4/* { dg-require-effective-target ia32 } */ 5 6extern void test_abm (void) __attribute__((__target__("abm"))); 7extern void test_aes (void) __attribute__((__target__("aes"))); 8extern void test_bmi (void) __attribute__((__target__("bmi"))); 9extern void test_mmx (void) __attribute__((__target__("mmx"))); 10extern void test_pclmul (void) __attribute__((__target__("pclmul"))); 11extern void test_popcnt (void) __attribute__((__target__("popcnt"))); 12extern void test_recip (void) __attribute__((__target__("recip"))); 13extern void test_sse (void) __attribute__((__target__("sse"))); 14extern void test_sse2 (void) __attribute__((__target__("sse2"))); 15extern void test_sse3 (void) __attribute__((__target__("sse3"))); 16extern void test_sse4 (void) __attribute__((__target__("sse4"))); 17extern void test_sse4_1 (void) __attribute__((__target__("sse4.1"))); 18extern void test_sse4_2 (void) __attribute__((__target__("sse4.2"))); 19extern void test_sse4a (void) __attribute__((__target__("sse4a"))); 20extern void test_fma (void) __attribute__((__target__("fma"))); 21extern void test_fma4 (void) __attribute__((__target__("fma4"))); 22extern void test_xop (void) __attribute__((__target__("xop"))); 23extern void test_ssse3 (void) __attribute__((__target__("ssse3"))); 24extern void test_tbm (void) __attribute__((__target__("tbm"))); 25extern void test_avx (void) __attribute__((__target__("avx"))); 26extern void test_avx2 (void) __attribute__((__target__("avx2"))); 27extern void test_avx512f (void) __attribute__((__target__("avx512f"))); 28extern void test_bmi (void) __attribute__((__target__("bmi"))); 29extern void test_bmi2 (void) __attribute__((__target__("bmi2"))); 30 31extern void test_no_abm (void) __attribute__((__target__("no-abm"))); 32extern void test_no_aes (void) __attribute__((__target__("no-aes"))); 33extern void test_no_bmi (void) __attribute__((__target__("no-bmi"))); 34extern void test_no_mmx (void) __attribute__((__target__("no-mmx"))); 35extern void test_no_pclmul (void) __attribute__((__target__("no-pclmul"))); 36extern void test_no_popcnt (void) __attribute__((__target__("no-popcnt"))); 37extern void test_no_recip (void) __attribute__((__target__("no-recip"))); 38extern void test_no_sse (void) __attribute__((__target__("no-sse"))); 39extern void test_no_sse2 (void) __attribute__((__target__("no-sse2"))); 40extern void test_no_sse3 (void) __attribute__((__target__("no-sse3"))); 41extern void test_no_sse4 (void) __attribute__((__target__("no-sse4"))); 42extern void test_no_sse4_1 (void) __attribute__((__target__("no-sse4.1"))); 43extern void test_no_sse4_2 (void) __attribute__((__target__("no-sse4.2"))); 44extern void test_no_sse4a (void) __attribute__((__target__("no-sse4a"))); 45extern void test_no_fma (void) __attribute__((__target__("no-fma"))); 46extern void test_no_fma4 (void) __attribute__((__target__("no-fma4"))); 47extern void test_no_xop (void) __attribute__((__target__("no-xop"))); 48extern void test_no_ssse3 (void) __attribute__((__target__("no-ssse3"))); 49extern void test_no_tbm (void) __attribute__((__target__("no-tbm"))); 50extern void test_no_avx (void) __attribute__((__target__("no-avx"))); 51extern void test_no_avx2 (void) __attribute__((__target__("no-avx2"))); 52extern void test_no_avx512f (void) __attribute__((__target__("no-avx512f"))); 53extern void test_no_bmi (void) __attribute__((__target__("no-bmi"))); 54extern void test_no_bmi2 (void) __attribute__((__target__("no-bmi2"))); 55 56extern void test_arch_i386 (void) __attribute__((__target__("arch=i386"))); 57extern void test_arch_i486 (void) __attribute__((__target__("arch=i486"))); 58extern void test_arch_i586 (void) __attribute__((__target__("arch=i586"))); 59extern void test_arch_pentium (void) __attribute__((__target__("arch=pentium"))); 60extern void test_arch_pentium_mmx (void) __attribute__((__target__("arch=pentium-mmx"))); 61extern void test_arch_winchip_c6 (void) __attribute__((__target__("arch=winchip-c6"))); 62extern void test_arch_winchip2 (void) __attribute__((__target__("arch=winchip2"))); 63extern void test_arch_c3 (void) __attribute__((__target__("arch=c3"))); 64extern void test_arch_c3_2 (void) __attribute__((__target__("arch=c3-2"))); 65extern void test_arch_i686 (void) __attribute__((__target__("arch=i686"))); 66extern void test_arch_pentiumpro (void) __attribute__((__target__("arch=pentiumpro"))); 67extern void test_arch_pentium2 (void) __attribute__((__target__("arch=pentium2"))); 68extern void test_arch_pentium3 (void) __attribute__((__target__("arch=pentium3"))); 69extern void test_arch_pentium3m (void) __attribute__((__target__("arch=pentium3m"))); 70extern void test_arch_pentium_m (void) __attribute__((__target__("arch=pentium-m"))); 71extern void test_arch_pentium4 (void) __attribute__((__target__("arch=pentium4"))); 72extern void test_arch_pentium4m (void) __attribute__((__target__("arch=pentium4m"))); 73extern void test_arch_prescott (void) __attribute__((__target__("arch=prescott"))); 74extern void test_arch_nocona (void) __attribute__((__target__("arch=nocona"))); 75extern void test_arch_core2 (void) __attribute__((__target__("arch=core2"))); 76extern void test_arch_corei7 (void) __attribute__((__target__("arch=corei7"))); 77extern void test_arch_corei7_avx (void) __attribute__((__target__("arch=corei7-avx"))); 78extern void test_arch_core_avx2 (void) __attribute__((__target__("arch=core-avx2"))); 79extern void test_arch_knl (void) __attribute__((__target__("arch=knl"))); 80extern void test_arch_geode (void) __attribute__((__target__("arch=geode"))); 81extern void test_arch_k6 (void) __attribute__((__target__("arch=k6"))); 82extern void test_arch_k6_2 (void) __attribute__((__target__("arch=k6-2"))); 83extern void test_arch_k6_3 (void) __attribute__((__target__("arch=k6-3"))); 84extern void test_arch_athlon (void) __attribute__((__target__("arch=athlon"))); 85extern void test_arch_athlon_tbird (void) __attribute__((__target__("arch=athlon-tbird"))); 86extern void test_arch_athlon_4 (void) __attribute__((__target__("arch=athlon-4"))); 87extern void test_arch_athlon_xp (void) __attribute__((__target__("arch=athlon-xp"))); 88extern void test_arch_athlon_mp (void) __attribute__((__target__("arch=athlon-mp"))); 89extern void test_arch_k8 (void) __attribute__((__target__("arch=k8"))); 90extern void test_arch_k8_sse3 (void) __attribute__((__target__("arch=k8-sse3"))); 91extern void test_arch_opteron (void) __attribute__((__target__("arch=opteron"))); 92extern void test_arch_opteron_sse3 (void) __attribute__((__target__("arch=opteron-sse3"))); 93extern void test_arch_athlon64 (void) __attribute__((__target__("arch=athlon64"))); 94extern void test_arch_athlon64_sse3 (void) __attribute__((__target__("arch=athlon64-sse3"))); 95extern void test_arch_athlon_fx (void) __attribute__((__target__("arch=athlon-fx"))); 96extern void test_arch_amdfam10 (void) __attribute__((__target__("arch=amdfam10"))); 97extern void test_arch_barcelona (void) __attribute__((__target__("arch=barcelona"))); 98extern void test_arch_bdver1 (void) __attribute__((__target__("arch=bdver1"))); 99extern void test_arch_bdver2 (void) __attribute__((__target__("arch=bdver2"))); 100extern void test_arch_bdver3 (void) __attribute__((__target__("arch=bdver3"))); 101extern void test_arch_foo (void) __attribute__((__target__("arch=foo"))); /* { dg-error "bad value" } */ 102 103extern void test_tune_i386 (void) __attribute__((__target__("tune=i386"))); 104extern void test_tune_i486 (void) __attribute__((__target__("tune=i486"))); 105extern void test_tune_i586 (void) __attribute__((__target__("tune=i586"))); 106extern void test_tune_pentium (void) __attribute__((__target__("tune=pentium"))); 107extern void test_tune_pentium_mmx (void) __attribute__((__target__("tune=pentium-mmx"))); 108extern void test_tune_winchip_c6 (void) __attribute__((__target__("tune=winchip-c6"))); 109extern void test_tune_winchip2 (void) __attribute__((__target__("tune=winchip2"))); 110extern void test_tune_c3 (void) __attribute__((__target__("tune=c3"))); 111extern void test_tune_c3_2 (void) __attribute__((__target__("tune=c3-2"))); 112extern void test_tune_i686 (void) __attribute__((__target__("tune=i686"))); 113extern void test_tune_pentiumpro (void) __attribute__((__target__("tune=pentiumpro"))); 114extern void test_tune_pentium2 (void) __attribute__((__target__("tune=pentium2"))); 115extern void test_tune_pentium3 (void) __attribute__((__target__("tune=pentium3"))); 116extern void test_tune_pentium3m (void) __attribute__((__target__("tune=pentium3m"))); 117extern void test_tune_pentium_m (void) __attribute__((__target__("tune=pentium-m"))); 118extern void test_tune_pentium4 (void) __attribute__((__target__("tune=pentium4"))); 119extern void test_tune_pentium4m (void) __attribute__((__target__("tune=pentium4m"))); 120extern void test_tune_prescott (void) __attribute__((__target__("tune=prescott"))); 121extern void test_tune_nocona (void) __attribute__((__target__("tune=nocona"))); 122extern void test_tune_core2 (void) __attribute__((__target__("tune=core2"))); 123extern void test_tune_corei7 (void) __attribute__((__target__("tune=corei7"))); 124extern void test_tune_corei7_avx (void) __attribute__((__target__("tune=corei7-avx"))); 125extern void test_tune_core_avx2 (void) __attribute__((__target__("tune=core-avx2"))); 126extern void test_tune_geode (void) __attribute__((__target__("tune=geode"))); 127extern void test_tune_k6 (void) __attribute__((__target__("tune=k6"))); 128extern void test_tune_k6_2 (void) __attribute__((__target__("tune=k6-2"))); 129extern void test_tune_k6_3 (void) __attribute__((__target__("tune=k6-3"))); 130extern void test_tune_athlon (void) __attribute__((__target__("tune=athlon"))); 131extern void test_tune_athlon_tbird (void) __attribute__((__target__("tune=athlon-tbird"))); 132extern void test_tune_athlon_4 (void) __attribute__((__target__("tune=athlon-4"))); 133extern void test_tune_athlon_xp (void) __attribute__((__target__("tune=athlon-xp"))); 134extern void test_tune_athlon_mp (void) __attribute__((__target__("tune=athlon-mp"))); 135extern void test_tune_k8 (void) __attribute__((__target__("tune=k8"))); 136extern void test_tune_k8_sse3 (void) __attribute__((__target__("tune=k8-sse3"))); 137extern void test_tune_opteron (void) __attribute__((__target__("tune=opteron"))); 138extern void test_tune_opteron_sse3 (void) __attribute__((__target__("tune=opteron-sse3"))); 139extern void test_tune_athlon64 (void) __attribute__((__target__("tune=athlon64"))); 140extern void test_tune_athlon64_sse3 (void) __attribute__((__target__("tune=athlon64-sse3"))); 141extern void test_tune_athlon_fx (void) __attribute__((__target__("tune=athlon-fx"))); 142extern void test_tune_amdfam10 (void) __attribute__((__target__("tune=amdfam10"))); 143extern void test_tune_barcelona (void) __attribute__((__target__("tune=barcelona"))); 144extern void test_tune_bdver1 (void) __attribute__((__target__("tune=bdver1"))); 145extern void test_tune_bdver2 (void) __attribute__((__target__("tune=bdver2"))); 146extern void test_tune_bdver3 (void) __attribute__((__target__("tune=bdver3"))); 147extern void test_tune_generic (void) __attribute__((__target__("tune=generic"))); 148extern void test_tune_foo (void) __attribute__((__target__("tune=foo"))); /* { dg-error "bad value" } */ 149 150extern void test_fpmath_sse (void) __attribute__((__target__("sse2,fpmath=sse"))); 151extern void test_fpmath_387 (void) __attribute__((__target__("sse2,fpmath=387"))); 152extern void test_fpmath_sse_387 (void) __attribute__((__target__("sse2,fpmath=sse+387"))); 153extern void test_fpmath_387_sse (void) __attribute__((__target__("sse2,fpmath=387+sse"))); 154extern void test_fpmath_both (void) __attribute__((__target__("sse2,fpmath=both"))); 155