aarch64: Add vector floating point extend pattern [PR113880, PR113869]
[official-gcc.git] / gcc / testsuite / gfortran.dg / set_exponent_1.f90
blob4c063e8330bdebe34f1c59386324db797a6c97e3
1 ! { dg-do run }
2 ! PR fortran/109511
3 ! Check compile-time simplification of SET_EXPONENT against runtime
5 program exponent
6 implicit none
7 integer :: i
8 i = 0
9 print *, i, set_exponent(1., 0), set_exponent(1., i)
10 if (set_exponent(1., 0) /= set_exponent(1., i)) stop 1
11 i = 1
12 print *, i, set_exponent(1., 1), set_exponent(1., i)
13 if (set_exponent(1., 1) /= set_exponent(1., i)) stop 2
14 i = 2
15 print *, i, set_exponent(-1.75, 2), set_exponent(-1.75, i)
16 if (set_exponent(-1.75, 2) /= set_exponent(-1.75, i)) stop 3
17 print *, i, set_exponent(0.1875, 2), set_exponent(0.1875, i)
18 if (set_exponent(0.1875, 2) /= set_exponent(0.1875, i)) stop 4
19 i = 3
20 print *, i, set_exponent(0.75, 3), set_exponent(0.75, i)
21 if (set_exponent(0.75, 3) /= set_exponent(0.75, i)) stop 5
22 i = 4
23 print *, i, set_exponent(-2.5, 4), set_exponent(-2.5, i)
24 if (set_exponent(-2.5, 4) /= set_exponent(-2.5, i)) stop 6
25 i = -1
26 print *, i, set_exponent(1., -1), set_exponent(1., i)
27 if (set_exponent(1., -1) /= set_exponent(1., i)) stop 7
28 i = -2
29 print *, i, set_exponent(1.125, -2), set_exponent(1.125, i)
30 if (set_exponent(1.125, -2) /= set_exponent(1.125, i)) stop 8
31 print *, i, set_exponent(-0.25, -2), set_exponent(-0.25, i)
32 if (set_exponent(-0.25, -2) /= set_exponent(-0.25, i)) stop 9
33 i = -3
34 print *, i, set_exponent(0.75, -3), set_exponent(0.75, i)
35 if (set_exponent(0.75, -3) /= set_exponent(0.75, i)) stop 10
36 end program exponent