brintos

brintos / llvm-project-archived public Read only

0
0
Text · 3.1 KiB · b8859e9 Raw
110 lines · plain
1! RUN: bbc -hlfir=false %s -o "-" | FileCheck %s2 3! Test real intrinsic operation lowering to FIR.4 5! CHECK-LABEL:eq0_test6LOGICAL FUNCTION eq0_test(x0, x1)7REAL(4) :: x08REAL(4) :: x19! CHECK-DAG:[[reg1:%[0-9]+]] = fir.load %arg010! CHECK-DAG:[[reg2:%[0-9]+]] = fir.load %arg111! CHECK:[[reg3:%[0-9]+]] = arith.cmpf oeq, [[reg1]], [[reg2]] {{.*}} : f3212! CHECK:fir.convert [[reg3]] {{.*}} -> !fir.logical<4>13eq0_test = x0 .EQ. x114END FUNCTION15 16! CHECK-LABEL:ne1_test17LOGICAL FUNCTION ne1_test(x0, x1)18REAL(4) :: x019REAL(4) :: x120! CHECK-DAG:[[reg1:%[0-9]+]] = fir.load %arg021! CHECK-DAG:[[reg2:%[0-9]+]] = fir.load %arg122! CHECK:[[reg3:%[0-9]+]] = arith.cmpf une, [[reg1]], [[reg2]] {{.*}} : f3223! CHECK:fir.convert [[reg3]] {{.*}} -> !fir.logical<4>24ne1_test = x0 .NE. x125END FUNCTION26 27! CHECK-LABEL:lt2_test28LOGICAL FUNCTION lt2_test(x0, x1)29REAL(4) :: x030REAL(4) :: x131! CHECK-DAG:[[reg1:%[0-9]+]] = fir.load %arg032! CHECK-DAG:[[reg2:%[0-9]+]] = fir.load %arg133! CHECK:[[reg3:%[0-9]+]] = arith.cmpf olt, [[reg1]], [[reg2]] {{.*}} : f3234! CHECK:fir.convert [[reg3]] {{.*}} -> !fir.logical<4>35lt2_test = x0 .LT. x136END FUNCTION37 38! CHECK-LABEL:le3_test39LOGICAL FUNCTION le3_test(x0, x1)40REAL(4) :: x041REAL(4) :: x142! CHECK-DAG:[[reg1:%[0-9]+]] = fir.load %arg043! CHECK-DAG:[[reg2:%[0-9]+]] = fir.load %arg144! CHECK:[[reg3:%[0-9]+]] = arith.cmpf ole, [[reg1]], [[reg2]] {{.*}} : f3245! CHECK:fir.convert [[reg3]] {{.*}} -> !fir.logical<4>46le3_test = x0 .LE. x147END FUNCTION48 49! CHECK-LABEL:gt4_test50LOGICAL FUNCTION gt4_test(x0, x1)51REAL(4) :: x052REAL(4) :: x153! CHECK-DAG:[[reg1:%[0-9]+]] = fir.load %arg054! CHECK-DAG:[[reg2:%[0-9]+]] = fir.load %arg155! CHECK:[[reg3:%[0-9]+]] = arith.cmpf ogt, [[reg1]], [[reg2]] {{.*}} : f3256! CHECK:fir.convert [[reg3]] {{.*}} -> !fir.logical<4>57gt4_test = x0 .GT. x158END FUNCTION59 60! CHECK-LABEL:ge5_test61LOGICAL FUNCTION ge5_test(x0, x1)62REAL(4) :: x063REAL(4) :: x164! CHECK-DAG:[[reg1:%[0-9]+]] = fir.load %arg065! CHECK-DAG:[[reg2:%[0-9]+]] = fir.load %arg166! CHECK:[[reg3:%[0-9]+]] = arith.cmpf oge, [[reg1]], [[reg2]] {{.*}} : f3267! CHECK:fir.convert [[reg3]] {{.*}} -> !fir.logical<4>68ge5_test = x0 .GE. x169END FUNCTION70 71! CHECK-LABEL:add6_test72REAL(4) FUNCTION add6_test(x0, x1)73REAL(4) :: x074REAL(4) :: x175! CHECK-DAG:[[reg1:%[0-9]+]] = fir.load %arg076! CHECK-DAG:[[reg2:%[0-9]+]] = fir.load %arg177! CHECK:addf [[reg1]], [[reg2]] {{.*}}: f3278add6_test = x0 + x179END FUNCTION80 81! CHECK-LABEL:sub7_test82REAL(4) FUNCTION sub7_test(x0, x1)83REAL(4) :: x084REAL(4) :: x185! CHECK-DAG:[[reg1:%[0-9]+]] = fir.load %arg086! CHECK-DAG:[[reg2:%[0-9]+]] = fir.load %arg187! CHECK:subf [[reg1]], [[reg2]] {{.*}}: f3288sub7_test = x0 - x189END FUNCTION90 91! CHECK-LABEL:mult8_test92REAL(4) FUNCTION mult8_test(x0, x1)93REAL(4) :: x094REAL(4) :: x195! CHECK-DAG:[[reg1:%[0-9]+]] = fir.load %arg096! CHECK-DAG:[[reg2:%[0-9]+]] = fir.load %arg197! CHECK:mulf [[reg1]], [[reg2]] {{.*}}: f3298mult8_test = x0 * x199END FUNCTION100 101! CHECK-LABEL:div9_test102REAL(4) FUNCTION div9_test(x0, x1)103REAL(4) :: x0104REAL(4) :: x1105! CHECK-DAG:[[reg1:%[0-9]+]] = fir.load %arg0106! CHECK-DAG:[[reg2:%[0-9]+]] = fir.load %arg1107! CHECK:divf [[reg1]], [[reg2]] {{.*}}: f32108div9_test = x0 / x1109END FUNCTION110