1/* Test whether all of the 64-bit function specific options are accepted 2 without error. */ 3/* { dg-do compile } */ 4/* { dg-require-effective-target lp64 } */ 5 6extern void test_abm (void) __attribute__((__target__("abm"))); 7extern void test_aes (void) __attribute__((__target__("aes"))); 8extern void test_mmx (void) __attribute__((__target__("mmx"))); 9extern void test_pclmul (void) __attribute__((__target__("pclmul"))); 10extern void test_popcnt (void) __attribute__((__target__("popcnt"))); 11extern void test_recip (void) __attribute__((__target__("recip"))); 12extern void test_sse (void) __attribute__((__target__("sse"))); 13extern void test_sse2 (void) __attribute__((__target__("sse2"))); 14extern void test_sse3 (void) __attribute__((__target__("sse3"))); 15extern void test_sse4 (void) __attribute__((__target__("sse4"))); 16extern void test_sse4_1 (void) __attribute__((__target__("sse4.1"))); 17extern void test_sse4_2 (void) __attribute__((__target__("sse4.2"))); 18extern void test_sse4a (void) __attribute__((__target__("sse4a"))); 19extern void test_fma4 (void) __attribute__((__target__("fma4"))); 20extern void test_ssse3 (void) __attribute__((__target__("ssse3"))); 21 22extern void test_no_abm (void) __attribute__((__target__("no-abm"))); 23extern void test_no_aes (void) __attribute__((__target__("no-aes"))); 24extern void test_no_mmx (void) __attribute__((__target__("no-mmx"))); 25extern void test_no_pclmul (void) __attribute__((__target__("no-pclmul"))); 26extern void test_no_popcnt (void) __attribute__((__target__("no-popcnt"))); 27extern void test_no_recip (void) __attribute__((__target__("no-recip"))); 28extern void test_no_sse (void) __attribute__((__target__("no-sse"))); 29extern void test_no_sse2 (void) __attribute__((__target__("no-sse2"))); 30extern void test_no_sse3 (void) __attribute__((__target__("no-sse3"))); 31extern void test_no_sse4 (void) __attribute__((__target__("no-sse4"))); 32extern void test_no_sse4_1 (void) __attribute__((__target__("no-sse4.1"))); 33extern void test_no_sse4_2 (void) __attribute__((__target__("no-sse4.2"))); 34extern void test_no_sse4a (void) __attribute__((__target__("no-sse4a"))); 35extern void test_no_fma4 (void) __attribute__((__target__("no-fma4"))); 36extern void test_no_ssse3 (void) __attribute__((__target__("no-ssse3"))); 37 38extern void test_arch_nocona (void) __attribute__((__target__("arch=nocona"))); 39extern void test_arch_core2 (void) __attribute__((__target__("arch=core2"))); 40extern void test_arch_k8 (void) __attribute__((__target__("arch=k8"))); 41extern void test_arch_k8_sse3 (void) __attribute__((__target__("arch=k8-sse3"))); 42extern void test_arch_opteron (void) __attribute__((__target__("arch=opteron"))); 43extern void test_arch_opteron_sse3 (void) __attribute__((__target__("arch=opteron-sse3"))); 44extern void test_arch_athlon64 (void) __attribute__((__target__("arch=athlon64"))); 45extern void test_arch_athlon64_sse3 (void) __attribute__((__target__("arch=athlon64-sse3"))); 46extern void test_arch_athlon_fx (void) __attribute__((__target__("arch=athlon-fx"))); 47extern void test_arch_amdfam10 (void) __attribute__((__target__("arch=amdfam10"))); 48extern void test_arch_barcelona (void) __attribute__((__target__("arch=barcelona"))); 49extern void test_arch_foo (void) __attribute__((__target__("arch=foo"))); /* { dg-error "bad value" } */ 50 51extern void test_tune_nocona (void) __attribute__((__target__("tune=nocona"))); 52extern void test_tune_core2 (void) __attribute__((__target__("tune=core2"))); 53extern void test_tune_k8 (void) __attribute__((__target__("tune=k8"))); 54extern void test_tune_k8_sse3 (void) __attribute__((__target__("tune=k8-sse3"))); 55extern void test_tune_opteron (void) __attribute__((__target__("tune=opteron"))); 56extern void test_tune_opteron_sse3 (void) __attribute__((__target__("tune=opteron-sse3"))); 57extern void test_tune_athlon64 (void) __attribute__((__target__("tune=athlon64"))); 58extern void test_tune_athlon64_sse3 (void) __attribute__((__target__("tune=athlon64-sse3"))); 59extern void test_tune_athlon_fx (void) __attribute__((__target__("tune=athlon-fx"))); 60extern void test_tune_amdfam10 (void) __attribute__((__target__("tune=amdfam10"))); 61extern void test_tune_barcelona (void) __attribute__((__target__("tune=barcelona"))); 62extern void test_tune_generic (void) __attribute__((__target__("tune=generic"))); 63extern void test_tune_foo (void) __attribute__((__target__("tune=foo"))); /* { dg-error "bad value" } */ 64 65extern void test_fpmath_sse (void) __attribute__((__target__("sse2,fpmath=sse"))); 66extern void test_fpmath_387 (void) __attribute__((__target__("sse2,fpmath=387"))); 67extern void test_fpmath_sse_387 (void) __attribute__((__target__("sse2,fpmath=sse+387"))); 68extern void test_fpmath_387_sse (void) __attribute__((__target__("sse2,fpmath=387+sse"))); 69extern void test_fpmath_both (void) __attribute__((__target__("sse2,fpmath=both"))); 70