brintos

brintos / llvm-project-archived public Read only

0
0
Text · 3.4 KiB · 8ed587d Raw
123 lines · plain
1! RUN: %python %S/test_folding.py %s %flang_fc12! Tests folding of BGE, BGT, BLE, BLT3 4module testbge5  logical, parameter :: test_u = all((/&6       bge(0, 0), &7       bge(1, 1), &8       bge(2, 1), &9       bge(2147483647, 2147483647), &10       bge(2147483647, 2147483646), &11       bge(-1, -1), &12       bge(-1, -2), &13       bge(-2147483646, -2147483646), &14       bge(-2147483646, -2147483647), &15       bge(-1, 0), &16       bge(1, 0), &17       bge(-2147483647, 2147483647), &18       bge(Z'80000000', 2147483647)/))19 20  logical, parameter :: test_m = all((/&21       bge(1_4, 1_8), &22       bge(1_8, 1_4), &23       bge(-1_8, -1_4), &24       bge(-1_8, Z'FFFFFFFF'), &25       bge(Z'FFFFFFFFFFFFFFFF', -1_4)/))26 27  logical,parameter :: test_nm = all((/&28       .not. bge(-1_4, -1_8), &29       .not. bge(Z'FFFFFFFF', -1_8), &30       .not. bge(-1_4, Z'FFFFFFFFFFFFFFFF')/))31end module testbge32 33module testbgt34  logical, parameter :: test_u = all((/&35       bgt(2, 1), &36       bgt(2147483647, 2147483646), &37       bgt(-1, -2), &38       bgt(-2147483646, -2147483647), &39       bgt(-1, 0), &40       bgt(1, 0), &41       bgt(-2147483647, 2147483647), &42       bgt(Z'80000000', 2147483647) /))43 44  logical, parameter :: test_nu = all((/&45       .not. bgt(0, 0), &46       .not. bgt(1, 1), &47       .not. bgt(2147483647, 2147483647), &48       .not. bgt(-1, -1), &49       .not. bgt(-2147483646, -2147483646) /))50 51  logical, parameter :: test_m = all((/&52       bgt(-1_8, -1_4), &53       bgt(Z'FFFFFFFFFFFFFFFF', -1_4), &54       bgt(-1_8, Z'FFFFFFFF') /))55 56  logical, parameter :: test_nm = all((/&57       .not. bgt(1_4, 1_8), &58       .not. bgt(1_8, 1_4), &59       .not. bgt(-1_4, -1_8), &60       .not. bgt(Z'FFFFFFFF', -1_8), &61       .not. bgt(-1_4, Z'FFFFFFFFFFFFFFFF') /))62end module testbgt63 64module testble65  logical, parameter :: test_u = all((/&66       ble(0, 0), &67       ble(1, 1), &68       ble(1, 2), &69       ble(2147483647, 2147483647), &70       ble(2147483646, 2147483647), &71       ble(-1, -1), &72       ble(-2, -1), &73       ble(-2147483646, -2147483646), &74       ble(-2147483647, -2147483646), &75       ble(0, -1), &76       ble(0, 1), &77       ble(2147483647, -2147483647), &78       ble(2147483647, Z'80000000') /))79 80  logical, parameter :: test_m = all((/&81       ble(1_4, 1_8), &82       ble(1_8, 1_4), &83       ble(-1_4, -1_8), &84       ble(Z'FFFFFFFF', -1_8), &85       ble(-1_4, Z'FFFFFFFFFFFFFFFF') /))86 87  logical, parameter :: test_nm = all((/ &88       .not. ble(-1_8, -1_4), &89       .not. ble(Z'FFFFFFFFFFFFFFFF', -1_4), &90       .not. ble(-1_8, Z'FFFFFFFF') /))91end module testble92 93module testblt94  logical, parameter :: test_u = all((/&95       blt(1, 2), &96       blt(2147483646, 2147483647), &97       blt(-2, -1), &98       blt(-2147483647, -2147483646), &99       blt(0, -1), &100       blt(0, 1) /))101 102  logical, parameter :: test_nu = all((/&103       .not. blt(0, 0), &104       .not. blt(1, 1), &105       .not. blt(2147483647, 2147483647), &106       .not. blt(-1, -1), &107       .not. blt(-2147483646, -2147483646), &108       .not. blt(-2147483647, 2147483647), &109       .not. blt(Z'80000000', 2147483647)/))110 111  logical, parameter :: test_m = all((/&112       blt(-1_4, -1_8), &113       blt(Z'FFFFFFFF', -1_8), &114       blt(-1_4, Z'FFFFFFFFFFFFFFFF') /))115 116  logical, parameter :: test_nm = all ((/&117       .not. blt(1_4, 1_8), &118       .not. blt(1_8, 1_4), &119       .not. blt(-1_8, -1_4), &120       .not. blt(Z'FFFFFFFFFFFFFFFF', -1_4), &121       .not. blt(-1_8, Z'FFFFFFFF') /))122end module testblt123