1 ! Test the DSHIFTL and DSHIFTR intrinsics.
4 ! { dg-options "-ffree-line-length-none" }
21 #define RESL(I,J,SHIFT) \
22 IOR(SHIFTL(I,SHIFT),SHIFTR(J,BIT_SIZE(J)-SHIFT))
23 #define RESR(I,J,SHIFT) \
24 IOR(SHIFTL(I,BIT_SIZE(I)-SHIFT),SHIFTR(J,SHIFT))
26 #define CHECK(I,J,SHIFT) \
27 if (dshiftl(I,J,SHIFT) /= RESL(I,J,SHIFT)) STOP 1; \
28 if (dshiftr(I,J,SHIFT) /= RESR(I,J,SHIFT)) STOP 2; \
29 if (run_dshiftl(I,J,SHIFT) /= RESL(I,J,SHIFT)) STOP 3; \
30 if (run_dshiftr(I,J,SHIFT) /= RESR(I,J,SHIFT)) STOP 4
135 function dshiftl_1 (i, j, shift) result(res)
136 integer(kind=1) :: i, j, res
138 res = dshiftl(i,j,shift)
140 function dshiftl_2 (i, j, shift) result(res)
141 integer(kind=2) :: i, j, res
143 res = dshiftl(i,j,shift)
145 function dshiftl_4 (i, j, shift) result(res)
146 integer(kind=4) :: i, j, res
148 res = dshiftl(i,j,shift)
150 function dshiftl_8 (i, j, shift) result(res)
151 integer(kind=8) :: i, j, res
153 res = dshiftl(i,j,shift)
156 function dshiftr_1 (i, j, shift) result(res)
157 integer(kind=1) :: i, j, res
159 res = dshiftr(i,j,shift)
161 function dshiftr_2 (i, j, shift) result(res)
162 integer(kind=2) :: i, j, res
164 res = dshiftr(i,j,shift)
166 function dshiftr_4 (i, j, shift) result(res)
167 integer(kind=4) :: i, j, res
169 res = dshiftr(i,j,shift)
171 function dshiftr_8 (i, j, shift) result(res)
172 integer(kind=8) :: i, j, res
174 res = dshiftr(i,j,shift)