[testsuite] require sqrt_insn effective target where needed
[official-gcc.git] / gcc / testsuite / gcc.target / powerpc / pr103743_1.c
blobe128aae7574c2ea6988dbd1142a37a550a970cd5
1 /* { dg-do run } */
2 /* { dg-options "-O2 -std=c99" } */
4 int
5 foo (int a)
7 return a + 6;
10 int __attribute__ ((noipa)) udi_fun (unsigned long long in)
12 if (in == (0x8642000000000000ULL))
13 return foo (1);
14 if (in == (0x7642000000000000ULL))
15 return foo (12);
16 if (in == (0x8000000000000000ULL))
17 return foo (32);
18 if (in == (0x8700000000000091ULL))
19 return foo (33);
20 if (in == (0x8642FFFFFFFFFFFFULL))
21 return foo (46);
22 if (in == (0x7642FFFFFFFFFFFFULL))
23 return foo (51);
24 if (in == (0x7567000000ULL))
25 return foo (9);
26 if (in == (0xFFF8567FFFFFFFFFULL))
27 return foo (19);
29 return 0;
32 int __attribute__ ((noipa)) di_fun (long long in)
34 if (in == (0x8642000000000000LL))
35 return foo (1);
36 if (in == (0x7642000000000000LL))
37 return foo (12);
38 if (in == (0x8000000000000000LL))
39 return foo (32);
40 if (in == (0x8700000000000091LL))
41 return foo (33);
42 if (in == (0x8642FFFFFFFFFFFFLL))
43 return foo (46);
44 if (in == (0x7642FFFFFFFFFFFFLL))
45 return foo (51);
46 return 0;
49 int
50 main ()
52 int e = 0;
53 if (udi_fun (6) != 0)
54 e++;
55 if (udi_fun (0x8642000000000000ULL) != foo (1))
56 e++;
57 if (udi_fun (0x7642000000000000ULL) != foo (12))
58 e++;
59 if (udi_fun (0x8000000000000000ULL) != foo (32))
60 e++;
61 if (udi_fun (0x8700000000000091ULL) != foo (33))
62 e++;
63 if (udi_fun (0x8642FFFFFFFFFFFFULL) != foo (46))
64 e++;
65 if (udi_fun (0x7642FFFFFFFFFFFFULL) != foo (51))
66 e++;
67 if (udi_fun (0x7567000000ULL) != foo (9))
68 e++;
69 if (udi_fun (0xFFF8567FFFFFFFFFULL) != foo (19))
70 e++;
72 if (di_fun (6) != 0)
73 e++;
74 if (di_fun (0x8642000000000000LL) != foo (1))
75 e++;
76 if (di_fun (0x7642000000000000LL) != foo (12))
77 e++;
78 if (di_fun (0x8000000000000000LL) != foo (32))
79 e++;
80 if (di_fun (0x8700000000000091LL) != foo (33))
81 e++;
82 if (di_fun (0x8642FFFFFFFFFFFFLL) != foo (46))
83 e++;
84 if (di_fun (0x7642FFFFFFFFFFFFLL) != foo (51))
85 e++;
86 if (udi_fun (0x7567000000LL) != foo (9))
87 e++;
88 if (udi_fun (0xFFF8567FFFFFFFFFLL) != foo (19))
89 e++;
91 if (e)
92 __builtin_abort ();
93 return 0;