Update ChangeLog and version files for release
[official-gcc.git] / gcc / testsuite / gcc.target / nios2 / custom-fp-2.c
blobfc7c643705e94cfb34523dfaa95ad1919fd7a78f
1 /* Test specification of custom instructions via pragmas. */
3 /* { dg-do compile } */
4 /* { dg-options "-O1 -ffinite-math-only" } */
6 /* -O1 in the options is significant. Without it FP operations may not be
7 optimized to custom instructions. */
9 #include <stdio.h>
10 #include <math.h>
12 #pragma GCC target ("custom-fmaxs=246")
13 #pragma GCC target ("custom-fmins=247")
14 #pragma GCC target ("custom-fsqrts=251")
16 void
17 custom_fp (float operand_a, float operand_b, float *result)
19 result[0] = fmaxf (operand_a, operand_b);
20 result[1] = fminf (operand_a, operand_b);
21 result[2] = sqrtf (operand_a);
24 /* { dg-final { scan-assembler "custom\\t246, .* # fmaxs .*" } } */
25 /* { dg-final { scan-assembler "custom\\t247, .* # fmins .*" } } */
26 /* { dg-final { scan-assembler "custom\\t251, .* # fsqrts .*" } } */