[AArch64] Merge stores of D-register values with different modes
[official-gcc.git] / gcc / testsuite / gfortran.dg / dec_logical_xor_1.f90
blobe443e337cc4ff8282833ee601ff5405a3e65cc62
1 ! { dg-do run }
2 ! { dg-options "-std=legacy" }
4 ! Test logical .XOR. operator.
7 implicit none
9 logical :: in1, in2, neqv_out, lxor_out, truth_table(2)
10 integer :: i, j, ixor_out, ieor_out
12 truth_table(1) = .true.
13 truth_table(2) = .false.
14 do i = 1,2
15 do j = 1,2
16 in1 = truth_table(j)
17 in2 = truth_table(i)
19 ! make sure logical xor works
20 neqv_out = in1 .neqv. in2
21 lxor_out = in1 .xor. in2
23 if ( neqv_out .neqv. lxor_out ) then
24 print *, "(",in1,in2,") .neqv.: ",neqv_out," .xor.: ",lxor_out
25 STOP 1
26 endif
28 ! make sure we didn't break xor() intrinsic
29 ixor_out = xor(i*7, j*5)
30 ieor_out = ieor(i*7, j*5)
32 if ( ixor_out .ne. ieor_out ) then
33 print *, "(",in1,in2,") ieor(): ",ieor_out," xor(): ",ixor_out
34 STOP 2
35 endif
37 enddo
38 enddo
40 end