brintos

brintos / llvm-project-archived public Read only

0
0
Text · 5.1 KiB · 7410030 Raw
103 lines · plain
1! RUN: %python %S/test_folding.py %s %flang_fc12 3! Test mask intrinsic folding4 5module maskltest6  logical, parameter :: test_l0 = maskl(0) .EQ. 07  logical, parameter :: test_l1 = maskl(1) .EQ. -2147483648_88  logical, parameter :: test_l2 = maskl(2) .EQ. -10737418249  logical, parameter :: test_lm = maskl(16) .EQ. -6553610  logical, parameter :: test_le1 = maskl(31) .EQ. -211  logical, parameter :: test_le = maskl(32) .EQ. -112  logical, parameter :: test_lo = maskl(33) .EQ. -113 14  logical, parameter :: test_l0_1 = maskl(0, 1) .EQ. 0_115  logical, parameter :: test_l1_1 = maskl(1, 1) .EQ. -128_216  logical, parameter :: test_l2_1 = maskl(2, 1) .EQ. -64_117  logical, parameter :: test_lm_1 = maskl(4, 1) .EQ. -16_118  logical, parameter :: test_le1_1 = maskl(7, 1) .EQ. -2_119  logical, parameter :: test_le_1 = maskl(8, 1) .EQ. -1_120  logical, parameter :: test_lo_1 = maskl(9, 1) .EQ. -1_121 22  logical, parameter :: test_l0_2 = maskl(0, 2) .EQ. 0_223  logical, parameter :: test_l1_2 = maskl(1, 2) .EQ. -32768_424  logical, parameter :: test_l2_2 = maskl(2, 2) .EQ. -16384_225  logical, parameter :: test_lm_2 = maskl(8, 2) .EQ. -256_226  logical, parameter :: test_le1_2 = maskl(15, 2) .EQ. -2_227  logical, parameter :: test_le_2 = maskl(16, 2) .EQ. -1_228  logical, parameter :: test_lo_2 = maskl(17, 2) .EQ. -1_229 30  logical, parameter :: test_l0_4 = maskl(0, 4) .EQ. 0_431  logical, parameter :: test_l1_4 = maskl(1, 4) .EQ. -2147483648_832  logical, parameter :: test_l2_4 = maskl(2, 4) .EQ. -1073741824_433  logical, parameter :: test_lm_4 = maskl(16, 4) .EQ. -65536_434  logical, parameter :: test_le1_4 = maskl(31, 4) .EQ. -2_435  logical, parameter :: test_le_4 = maskl(32, 4) .EQ. -1_436  logical, parameter :: test_lo_4 = maskl(33, 4) .EQ. -1_437 38  logical, parameter :: test_l0_8 = maskl(0, 8) .EQ. 0_839  logical, parameter :: test_l1_8 = maskl(1, 8) .EQ. -9223372036854775808_1640  logical, parameter :: test_l2_8 = maskl(2, 8) .EQ. -4611686018427387904_841  logical, parameter :: test_lm_8 = maskl(32, 8) .EQ. -4294967296_842  logical, parameter :: test_le1_8 = maskl(63, 8) .EQ. -2_843  logical, parameter :: test_le_8 = maskl(64, 8) .EQ. -1_844  logical, parameter :: test_lo_8 = maskl(65, 8) .EQ. -1_845 46  logical, parameter :: test_l0_16 = maskl(0, 16) .EQ. 0_1647  logical, parameter :: test_l2_16 = maskl(2, 16) .EQ. -85070591730234615865843651857942052864_1648  logical, parameter :: test_lm_16 = maskl(64, 16) .EQ. -18446744073709551616_1649  logical, parameter :: test_le1_16 = maskl(127, 16) .EQ. -2_1650  logical, parameter :: test_le_16 = maskl(128, 16) .EQ. -1_1651  logical, parameter :: test_lo_16 = maskl(129, 16) .EQ. -1_1652end module maskltest53 54module maskrtest55  logical, parameter :: test_r0 = maskr(0) .EQ. 056  logical, parameter :: test_r1 = maskr(1) .EQ. 157  logical, parameter :: test_r2 = maskr(2) .EQ. 358  logical, parameter :: test_rm = maskr(16) .EQ. 6553559  logical, parameter :: test_re1 = maskr(31) .EQ. 214748364760  logical, parameter :: test_re = maskr(32) .EQ. -161  logical, parameter :: test_ro = maskr(33) .EQ. -162 63  logical, parameter :: test_r0_1 = maskr(0, 1) .EQ. 0_164  logical, parameter :: test_r1_1 = maskr(1, 1) .EQ. 1_165  logical, parameter :: test_r2_1 = maskr(2, 1) .EQ. 3_166  logical, parameter :: test_rm_1 = maskr(4, 1) .EQ. 15_167  logical, parameter :: test_re1_1 = maskr(7, 1) .EQ. 127_168  logical, parameter :: test_re_1 = maskr(8, 1) .EQ. -1_169  logical, parameter :: test_ro_1 = maskr(9, 1) .EQ. -1_170 71  logical, parameter :: test_r0_2 = maskr(0, 2) .EQ. 0_272  logical, parameter :: test_r1_2 = maskr(1, 2) .EQ. 1_273  logical, parameter :: test_r2_2 = maskr(2, 2) .EQ. 3_274  logical, parameter :: test_rm_2 = maskr(8, 2) .EQ. 255_275  logical, parameter :: test_re1_2 = maskr(15, 2) .EQ. 32767_276  logical, parameter :: test_re_2 = maskr(16, 2) .EQ. -1_277  logical, parameter :: test_ro_2 = maskr(17, 2) .EQ. -1_278 79  logical, parameter :: test_r0_4 = maskr(0, 4) .EQ. 0_480  logical, parameter :: test_r1_4 = maskr(1, 4) .EQ. 1_481  logical, parameter :: test_r2_4 = maskr(2, 4) .EQ. 3_482  logical, parameter :: test_rm_4 = maskr(16, 4) .EQ. 65535_483  logical, parameter :: test_re1_4 = maskr(31, 4) .EQ. 2147483647_484  logical, parameter :: test_re_4 = maskr(32, 4) .EQ. -1_485  logical, parameter :: test_ro_4 = maskr(33, 4) .EQ. -1_486 87  logical, parameter :: test_r0_8 = maskr(0, 8) .EQ. 0_888  logical, parameter :: test_r1_8 = maskr(1, 8) .EQ. 1_889  logical, parameter :: test_r2_8 = maskr(2, 8) .EQ. 3_890  logical, parameter :: test_rm_8 = maskr(32, 8) .EQ. 4294967295_891  logical, parameter :: test_re1_8 = maskr(63, 8) .EQ. 9223372036854775807_892  logical, parameter :: test_re_8 = maskr(64, 8) .EQ. -1_893  logical, parameter :: test_ro_8 = maskr(65, 8) .EQ. -1_894 95  logical, parameter :: test_r0_16 = maskr(0, 16) .EQ. 0_1696  logical, parameter :: test_r1_16 = maskr(1, 16) .EQ. 1_1697  logical, parameter :: test_r2_16 = maskr(2, 16) .EQ. 3_1698  logical, parameter :: test_rm_16 = maskr(64, 16) .EQ. 18446744073709551615_1699  logical, parameter :: test_re1_16 = maskr(127, 16) .EQ. 170141183460469231731687303715884105727_16100  logical, parameter :: test_re_16 = maskr(128, 16) .EQ. -1_16101  logical, parameter :: test_ro_16 = maskr(129, 16) .EQ. -1_16102end module maskrtest103