brintos

brintos / llvm-project-archived public Read only

0
0
Text · 8.1 KiB · 9bc19c7 Raw
175 lines · plain
1! RUN: %python %S/test_folding.py %s %flang_fc12! Test counts of set bits.3 4module leadz_tests5  logical, parameter :: test_z1 = leadz(0_1) .EQ. 86  logical, parameter :: test_o1 = leadz(1_1) .EQ. 77  logical, parameter :: test_t1 = leadz(2_1) .EQ. 68  logical, parameter :: test_f1 = leadz(15_1) .EQ. 49  logical, parameter :: test_b1 = leadz(16_1) .EQ. 310  logical, parameter :: test_m11 = leadz(-1_1) .EQ. 011  logical, parameter :: test_m12 = leadz(-2_1) .EQ. 012  logical, parameter :: test_mb1 = leadz(-120_1) .EQ. 013 14  logical, parameter :: test_z2 = leadz(0_2) .EQ. 1615  logical, parameter :: test_o2 = leadz(1_2) .EQ. 1516  logical, parameter :: test_t2 = leadz(2_2) .EQ. 1417  logical, parameter :: test_f2 = leadz(15_2) .EQ. 1218  logical, parameter :: test_m21 = leadz(-1_2) .EQ. 019  logical, parameter :: test_m22 = leadz(-2_2) .EQ. 020  logical, parameter :: test_mb2 = leadz(-32640_2) .EQ. 021 22  logical, parameter :: test_z4 = leadz(0_4) .EQ. 3223  logical, parameter :: test_o4 = leadz(1_4) .EQ. 3124  logical, parameter :: test_t4 = leadz(2_4) .EQ. 3025  logical, parameter :: test_f4 = leadz(15_4) .EQ. 2826  logical, parameter :: test_m41 = leadz(-1_4) .EQ. 027  logical, parameter :: test_m42 = leadz(-2_4) .EQ. 028  logical, parameter :: test_mb4 = leadz(-2147450880_4) .EQ. 029 30  logical, parameter :: test_z8 = leadz(0_8) .EQ. 6431  logical, parameter :: test_o8 = leadz(1_8) .EQ. 6332  logical, parameter :: test_t8 = leadz(2_8) .EQ. 6233  logical, parameter :: test_f8 = leadz(15_8) .EQ. 6034  logical, parameter :: test_m81 = leadz(-1_8) .EQ. 035  logical, parameter :: test_m82 = leadz(-2_8) .EQ. 036  logical, parameter :: test_mb8 = leadz(-9223372034707292160_8) .EQ. 037 38  logical, parameter :: test_z16 = leadz(0_16) .EQ. 12839  logical, parameter :: test_o16 = leadz(1_16) .EQ. 12740  logical, parameter :: test_t16 = leadz(2_16) .EQ. 12641  logical, parameter :: test_f16 = leadz(15_16) .EQ. 12442  logical, parameter :: test_m161 = leadz(-1_16) .EQ. 043  logical, parameter :: test_m162 = leadz(-2_16) .EQ. 044  logical, parameter :: test_mb16 = leadz(18446744073709551616_16) .EQ. 6345end module leadz_tests46 47module trailz_tests48  logical, parameter :: test_z1 = trailz(0_1) .EQ. 849  logical, parameter :: test_o1 = trailz(1_1) .EQ. 050  logical, parameter :: test_t1 = trailz(2_1) .EQ. 151  logical, parameter :: test_f1 = trailz(15_1) .EQ. 052  logical, parameter :: test_b1 = trailz(16_1) .EQ. 453  logical, parameter :: test_m11 = trailz(-1_1) .EQ. 054  logical, parameter :: test_m12 = trailz(-2_1) .EQ. 155  logical, parameter :: test_mb1 = trailz(-120_1) .EQ. 356 57  logical, parameter :: test_z2 = trailz(0_2) .EQ. 1658  logical, parameter :: test_o2 = trailz(1_2) .EQ. 059  logical, parameter :: test_t2 = trailz(2_2) .EQ. 160  logical, parameter :: test_f2 = trailz(15_2) .EQ. 061  logical, parameter :: test_m21 = trailz(-1_2) .EQ. 062  logical, parameter :: test_m22 = trailz(-2_2) .EQ. 163  logical, parameter :: test_mb2 = trailz(-32640_2) .EQ. 764 65  logical, parameter :: test_z4 = trailz(0_4) .EQ. 3266  logical, parameter :: test_o4 = trailz(1_4) .EQ. 067  logical, parameter :: test_t4 = trailz(2_4) .EQ. 168  logical, parameter :: test_f4 = trailz(15_4) .EQ. 069  logical, parameter :: test_m41 = trailz(-1_4) .EQ. 070  logical, parameter :: test_m42 = trailz(-2_4) .EQ. 171  logical, parameter :: test_mb4 = trailz(-2147450880_4) .EQ. 1572 73  logical, parameter :: test_z8 = trailz(0_8) .EQ. 6474  logical, parameter :: test_o8 = trailz(1_8) .EQ. 075  logical, parameter :: test_t8 = trailz(2_8) .EQ. 176  logical, parameter :: test_f8 = trailz(15_8) .EQ. 077  logical, parameter :: test_m81 = trailz(-1_8) .EQ. 078  logical, parameter :: test_m82 = trailz(-2_8) .EQ. 179  logical, parameter :: test_mb8 = trailz(-9223372034707292160_8) .EQ. 3180 81  logical, parameter :: test_z16 = trailz(0_16) .EQ. 12882  logical, parameter :: test_o16 = trailz(1_16) .EQ. 083  logical, parameter :: test_t16 = trailz(2_16) .EQ. 184  logical, parameter :: test_f16 = trailz(15_16) .EQ. 085  logical, parameter :: test_m161 = trailz(-1_16) .EQ. 086  logical, parameter :: test_m162 = trailz(-2_16) .EQ. 187  logical, parameter :: test_mb16 = trailz(18446744073709551616_16) .EQ. 6488end module trailz_tests89 90module popcnt_tests91  logical, parameter :: test_z1 = popcnt(0_1) .EQ. 092  logical, parameter :: test_o1 = popcnt(1_1) .EQ. 193  logical, parameter :: test_t1 = popcnt(2_1) .EQ. 194  logical, parameter :: test_f1 = popcnt(15_1) .EQ. 495  logical, parameter :: test_b1 = popcnt(16_1) .EQ. 196  logical, parameter :: test_m11 = popcnt(-1_1) .EQ. 897  logical, parameter :: test_m12 = popcnt(-2_1) .EQ. 798  logical, parameter :: test_mb1 = popcnt(-120_1) .EQ. 299 100  logical, parameter :: test_z2 = popcnt(0_2) .EQ. 0101  logical, parameter :: test_o2 = popcnt(1_2) .EQ. 1102  logical, parameter :: test_t2 = popcnt(2_2) .EQ. 1103  logical, parameter :: test_f2 = popcnt(15_2) .EQ. 4104  logical, parameter :: test_m21 = popcnt(-1_2) .EQ. 16105  logical, parameter :: test_m22 = popcnt(-2_2) .EQ. 15106  logical, parameter :: test_mb2 = popcnt(-32640_2) .EQ. 2107 108  logical, parameter :: test_z4 = popcnt(0_4) .EQ. 0109  logical, parameter :: test_o4 = popcnt(1_4) .EQ. 1110  logical, parameter :: test_t4 = popcnt(2_4) .EQ. 1111  logical, parameter :: test_f4 = popcnt(15_4) .EQ. 4112  logical, parameter :: test_m41 = popcnt(-1_4) .EQ. 32113  logical, parameter :: test_m42 = popcnt(-2_4) .EQ. 31114  logical, parameter :: test_mb4 = popcnt(-2147450880_4) .EQ. 2115 116  logical, parameter :: test_z8 = popcnt(0_8) .EQ. 0117  logical, parameter :: test_o8 = popcnt(1_8) .EQ. 1118  logical, parameter :: test_t8 = popcnt(2_8) .EQ. 1119  logical, parameter :: test_f8 = popcnt(15_8) .EQ. 4120  logical, parameter :: test_m81 = popcnt(-1_8) .EQ. 64121  logical, parameter :: test_m82 = popcnt(-2_8) .EQ. 63122  logical, parameter :: test_mb8 = popcnt(-9223372034707292160_8) .EQ. 2123 124  logical, parameter :: test_z16 = popcnt(0_16) .EQ. 0125  logical, parameter :: test_o16 = popcnt(1_16) .EQ. 1126  logical, parameter :: test_t16 = popcnt(2_16) .EQ. 1127  logical, parameter :: test_f16 = popcnt(15_16) .EQ. 4128  logical, parameter :: test_m161 = popcnt(-1_16) .EQ. 128129  logical, parameter :: test_m162 = popcnt(-2_16) .EQ. 127130  logical, parameter :: test_mb16 = popcnt(18446744073709551616_16) .EQ. 1131end module popcnt_tests132 133module poppar_tests134  logical, parameter :: test_z1 = poppar(0_1) .EQ. 0135  logical, parameter :: test_o1 = poppar(1_1) .EQ. 1136  logical, parameter :: test_t1 = poppar(2_1) .EQ. 1137  logical, parameter :: test_f1 = poppar(15_1) .EQ. 0138  logical, parameter :: test_b1 = poppar(16_1) .EQ. 1139  logical, parameter :: test_m11 = poppar(-1_1) .EQ. 0140  logical, parameter :: test_m12 = poppar(-2_1) .EQ. 1141  logical, parameter :: test_mb1 = poppar(-120_1) .EQ. 0142 143  logical, parameter :: test_z2 = poppar(0_2) .EQ. 0144  logical, parameter :: test_o2 = poppar(1_2) .EQ. 1145  logical, parameter :: test_t2 = poppar(2_2) .EQ. 1146  logical, parameter :: test_f2 = poppar(15_2) .EQ. 0147  logical, parameter :: test_m21 = poppar(-1_2) .EQ. 0148  logical, parameter :: test_m22 = poppar(-2_2) .EQ. 1149  logical, parameter :: test_mb2 = poppar(-32640_2) .EQ. 0150 151  logical, parameter :: test_z4 = poppar(0_4) .EQ. 0152  logical, parameter :: test_o4 = poppar(1_4) .EQ. 1153  logical, parameter :: test_t4 = poppar(2_4) .EQ. 1154  logical, parameter :: test_f4 = poppar(15_4) .EQ. 0155  logical, parameter :: test_m41 = poppar(-1_4) .EQ. 0156  logical, parameter :: test_m42 = poppar(-2_4) .EQ. 1157  logical, parameter :: test_mb4 = poppar(-2147450880_4) .EQ. 0158 159  logical, parameter :: test_z8 = poppar(0_8) .EQ. 0160  logical, parameter :: test_o8 = poppar(1_8) .EQ. 1161  logical, parameter :: test_t8 = poppar(2_8) .EQ. 1162  logical, parameter :: test_f8 = poppar(15_8) .EQ. 0163  logical, parameter :: test_m81 = poppar(-1_8) .EQ. 0164  logical, parameter :: test_m82 = poppar(-2_8) .EQ. 1165  logical, parameter :: test_mb8 = poppar(-9223372034707292160_8) .EQ. 0166 167  logical, parameter :: test_z16 = poppar(0_16) .EQ. 0168  logical, parameter :: test_o16 = poppar(1_16) .EQ. 1169  logical, parameter :: test_t16 = poppar(2_16) .EQ. 1170  logical, parameter :: test_f16 = poppar(15_16) .EQ. 0171  logical, parameter :: test_m161 = poppar(-1_16) .EQ. 0172  logical, parameter :: test_m162 = poppar(-2_16) .EQ. 1173  logical, parameter :: test_mb16 = poppar(18446744073709551616_16) .EQ. 1174end module poppar_tests175