Mercurial > hg > CbC > CbC_gcc
comparison gcc/testsuite/gfortran.dg/power_8.f90 @ 145:1830386684a0
gcc-9.2.0
author | anatofuz |
---|---|
date | Thu, 13 Feb 2020 11:34:05 +0900 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
131:84e7813d76e9 | 145:1830386684a0 |
---|---|
1 ! { dg-do run } | |
2 ! { dg-additional-options "-fdump-tree-original" } | |
3 ! | |
4 ! PR88579 - Test optimizations for bases that are powers of 2 or -2. | |
5 program p | |
6 implicit none | |
7 integer(4) :: i, u | |
8 integer(1) :: j, v | |
9 integer(2) :: k, w | |
10 integer(8) :: z | |
11 ! Test selected positive bases | |
12 u = 1 | |
13 do i=1,5 | |
14 u = u * 64_4 | |
15 if (u /= 64_4 ** i) stop 1 | |
16 end do | |
17 z = 1 | |
18 do i=1,7 | |
19 z = z * 256_8 | |
20 if (z /= 256_8 ** i) stop 2 | |
21 end do | |
22 z = 1 | |
23 do i=1,3 | |
24 z = z * 65536_8 | |
25 if (z /= 65536_8 ** i) stop 3 | |
26 end do | |
27 ! Test selected negative bases and integer kind combinations | |
28 u = 1 | |
29 do i=1,7 | |
30 u = u * (-2_1) | |
31 if (u /= (-2_1) ** i) stop 4 | |
32 end do | |
33 v = 1 | |
34 do j=1,7 | |
35 v = v * (-2_1) | |
36 if (v /= (-2_1) ** j) stop 5 | |
37 end do | |
38 v = 1 | |
39 do k=1,7 | |
40 v = v * (-2_1) | |
41 if (v /= (-2_1) ** k) stop 6 | |
42 end do | |
43 w = 1 | |
44 do k=1,7 | |
45 w = w * (-4_2) | |
46 if (w /= (-4_2) ** k) stop 7 | |
47 end do | |
48 w = 1 | |
49 do i=1,5 | |
50 w = w * (-8_2) | |
51 if (w /= (-8_2) ** i) stop 8 | |
52 end do | |
53 u = 1 | |
54 do i=1,1 | |
55 u = u * (-HUGE(1_4)/2-1) | |
56 if (u /= (-HUGE(1_4)/2-1) ** i) stop 9 | |
57 end do | |
58 z = 1 | |
59 do i=1,7 | |
60 z = z * (-512_8) | |
61 if (z /= (-512_8) ** i) stop 10 | |
62 end do | |
63 end program p | |
64 ! { dg-final { scan-tree-dump-not "_gfortran_pow" "original" } } |