1 /* { dg-do compile } */ 2 /* { dg-require-ifunc "" } */ 3 4 int fum (); // Extra declaration that is merged with the second one. 5 int fum () __attribute__ ((target("default"))); 6 7 8 int fum () __attribute__((target( "mmx"))); 9 int fum () __attribute__((target( "popcnt"))); 10 int fum () __attribute__((target( "sse"))); 11 int fum () __attribute__((target( "sse2"))); 12 int fum () __attribute__((target( "sse3"))); 13 int fum () __attribute__((target( "ssse3"))); 14 int fum () __attribute__((target( "sse4.1"))); 15 int fum () __attribute__((target( "sse4.2"))); 16 int fum () __attribute__((target( "avx"))); 17 int fum () __attribute__((target( "avx2"))); 18 19 int fum () __attribute__((target("arch=core2"))); 20 int fum () __attribute__((target("arch=corei7"))); 21 int fum () __attribute__((target("arch=atom"))); 22 23 int (*p)() = &fum; 24 25 int j = fum(); 26