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