/* { dg-do compile { target sqrt_insn } } */ /* { dg-options "-fdump-tree-sincos -Ofast --param max-pow-sqrt-depth=8" } */ /* { dg-additional-options "-mfloat-abi=softfp -mfpu=neon-vfpv4" { target arm*-*-* } } */ double foo (double a) { return __builtin_pow (a, -5.875); } double foof (double a) { return __builtin_pow (a, 0.75f); } double bar (double a) { return __builtin_pow (a, 1.0 + 0.00390625); } double baz (double a) { return __builtin_pow (a, -1.25) + __builtin_pow (a, 5.75) - __builtin_pow (a, 3.375); } #define N 256 void vecfoo (double *a) { for (int i = 0; i < N; i++) a[i] = __builtin_pow (a[i], 1.25); } /* { dg-final { scan-tree-dump-times "synthesizing" 7 "sincos" } } */