Rebase.
[official-gcc.git] / gcc / testsuite / gcc.target / sh / fpul-usage-1.c
blob5c3bb196de0ffab276f069d0ae263c009f1c98a9
1 /* Check that the FPUL register is used when reading a float as an int and
2 vice versa, as opposed to pushing and popping the values over the stack. */
3 /* { dg-do compile } */
4 /* { dg-options "-O1" } */
5 /* { dg-skip-if "" { "sh*-*-*" } { "-m1" "-m2" "-m4al" "*nofpu" "-m4-340*" "-m4-400*" "-m4-500*" "-m5*" } { "" } } */
6 /* { dg-final { scan-assembler "fpul" } } */
7 /* { dg-final { scan-assembler-not "r15" } } */
9 int
10 float_as_int (float val)
12 union { float f; int i; } u;
13 u.f = val;
14 return u.i;
17 float
18 int_as_float (int val)
20 union { float f; int i; } u;
21 u.i = val;
22 return u.f;