/* Test whether using target specific options, we can generate the reciprocal square root instruction. */ /* { dg-do compile } */ /* { dg-options "-O2 -march=k8 -mno-recip -mfpmath=sse -ffast-math" } */ float do_recip (float a) __attribute__((__target__("recip"))); float do_normal (float a); float do_recip (float a) { return 1.0f / __builtin_sqrtf (a); } float do_normal (float a) { return 1.0f / __builtin_sqrtf (a); } /* { dg-final { scan-assembler "sqrtss" } } */ /* { dg-final { scan-assembler "rsqrtss" } } */