| /* { dg-do assemble } */ |
| /* { dg-require-effective-target lp64 } */ |
| /* { dg-options "-O1 --save-temps" } */ |
| #pragma GCC push_options |
| #pragma GCC target ("+nothing+simd,cmodel=small") |
| |
| int |
| cal (double a) |
| { |
| double b = 3.2; |
| double c = 2.2; |
| if ((a + b) != c) |
| return 0; |
| else |
| return 1; |
| } |
| |
| #pragma GCC push_options |
| |
| #pragma GCC target ("cmodel=large") |
| |
| int |
| cal2 (double a) |
| { |
| |
| double b = 3.2; |
| double c = 2.2; |
| if ((a + b) != c) |
| return 0; |
| else |
| return 1; |
| } |
| |
| #pragma GCC pop_options |
| |
| int |
| cal3 (double a) |
| { |
| |
| double b = 3.2; |
| double c = 2.2; |
| if ((a + b) != c) |
| return 0; |
| else |
| return 1; |
| } |
| |
| /* { dg-final { scan-assembler-times "adrp" 6 } } */ |