2 /* { dg-require-ifunc "" } */
3 /* { dg-options "-O2 -fipa-pta" } */
8 #define hot __attribute__((hot))
10 static hot
void multiver_default(unsigned int in
, bool *ret
)
19 static void (*resolve_multiver(void))(unsigned int in
, bool *out
)
21 return &multiver_default
;
24 __attribute__ ((ifunc("resolve_multiver")))
25 static void multiver_test(unsigned int val
, bool *ret
);
27 static hot
bool do_test(unsigned int val
)
31 multiver_test(val
, &ret
);
33 return (ret
== !(val
& 0x1));
36 volatile unsigned int x
= 2;
40 for(i
= 1; i
< x
; i
++) {