1 /* Test whether using target specific options, we can generate the reciprocal
2    square root instruction.  */
3 /* { dg-do compile } */
4 /* { dg-options "-O2 -march=k8 -mno-recip -mfpmath=sse -ffast-math" } */
5 
6 float do_recip  (float a) __attribute__((__target__("recip")));
7 float do_normal (float a);
8 
do_recip(float a)9 float do_recip  (float a) { return 1.0f / __builtin_sqrtf (a); }
do_normal(float a)10 float do_normal (float a) { return 1.0f / __builtin_sqrtf (a); }
11 
12 /* { dg-final { scan-assembler "sqrtss" } } */
13 /* { dg-final { scan-assembler "rsqrtss" } } */
14