Skip to content

Commit c9a4c51

Browse files
authored
[flang] Fix test on ppc64le & aarch64 (#105439)
Don't try to fold x87 extended precision operations in a test unless it's targeting x86-64.
1 parent 019e1a3 commit c9a4c51

File tree

1 file changed

+11
-8
lines changed

1 file changed

+11
-8
lines changed

flang/test/Evaluate/fold-nearest.f90

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -92,20 +92,23 @@ module m3
9292
logical, parameter :: test_14 = .not. (x14 == x14)
9393
end module
9494

95-
#if 0
96-
! Currently failing on ppc64le and aarch64, debugging...
9795
module m4
96+
use ieee_arithmetic
97+
real(2), parameter :: neg_inf_2 = real(z'fc00',2)
98+
real(2), parameter :: neg_huge_2 = real(z'fbff',2)
99+
real(3), parameter :: neg_huge_3 = real(z'ff7f',3)
100+
logical, parameter :: test_1 = ieee_next_after(neg_inf_2, neg_huge_3) == neg_huge_2
101+
end module
102+
103+
#if __x86_64__
104+
module m5
98105
use ieee_arithmetic
99106
real(8), parameter :: neg_inf_8 = real(z'fff0000000000000',8)
100107
real(8), parameter :: neg_huge_8 = real(z'ffefffffffffffff',8)
101108
real(10), parameter :: neg_one_10 = real(z'bfff8000000000000000',10)
102109
real(10), parameter :: neg_inf_10 = real(z'ffff8000000000000000',10)
103-
real(2), parameter :: neg_inf_2 = real(z'fc00',2)
104-
real(2), parameter :: neg_huge_2 = real(z'fbff',2)
105-
real(3), parameter :: neg_huge_3 = real(z'ff7f',3)
106-
logical, parameter :: test_1 = ieee_next_after(neg_inf_8,neg_one_10) == neg_huge_8
107-
logical, parameter :: test_2 = ieee_next_after(neg_inf_2, neg_huge_3) == neg_huge_2
108-
logical, parameter :: test_3 = ieee_next_after(neg_one_10, neg_inf_10) == &
110+
logical, parameter :: test_1 = ieee_next_after(neg_inf_8, neg_one_10) == neg_huge_8
111+
logical, parameter :: test_2 = ieee_next_after(neg_one_10, neg_inf_10) == &
109112
real(z'bfff8000000000000001', 10)
110113
end module
111114
#endif

0 commit comments

Comments
 (0)