arm.c (arm_get_frame_offsets): Revamp long lines.
[gcc.git] / gcc / testsuite / gcc.target / arm / neon-nested-apcs.c
1 /* { dg-do run } */
2 /* { dg-require-effective-target arm_neon_hw } */
3 /* { dg-options "-fno-omit-frame-pointer -mapcs-frame -O -mfloat-abi=softfp -mfpu=neon" } */
4
5 extern void abort (void);
6
7 float data;
8
9 void __attribute__((noinline, noclone)) bar (float f)
10 {
11 data = f;
12 }
13
14 float __attribute__((noinline, noclone)) foo (float f)
15 {
16 int error_reported = 0;
17
18 void __attribute__((noinline, noclone))
19 nested (int a, int b, int c, int d, float f0, float f1, float f2, float f3)
20 {
21 float e;
22
23 if (f3 > f2)
24 e = f3;
25 else
26 e = f2;
27
28 if (f0 - f1 > e)
29 {
30 error_reported = a + b + c + d;
31 bar (f0);
32 bar (e);
33 }
34 }
35
36 nested (1, 2, 3, 4, 1.0, 1.0, 3.5, 4.2);
37 return f + (float)error_reported;
38 }
39
40 #define PI 3.1415927f
41
42 int main (void)
43 {
44 if (foo (PI) != PI)
45 abort ();
46 return 0;
47 }