brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.9 KiB · 142c755 Raw
94 lines · plain
1; Test 32-bit addition in which the second operand is constant.2;3; RUN: llc < %s -mtriple=s390x-linux-gnu | FileCheck %s4 5; Check additions of 1.6define i32 @f1(i32 %a) {7; CHECK-LABEL: f1:8; CHECK: ahi %r2, 19; CHECK: br %r1410  %add = add i32 %a, 111  ret i32 %add12}13 14; Check the high end of the AHI range.15define i32 @f2(i32 %a) {16; CHECK-LABEL: f2:17; CHECK: ahi %r2, 3276718; CHECK: br %r1419  %add = add i32 %a, 3276720  ret i32 %add21}22 23; Check the next value up, which must use AFI instead.24define i32 @f3(i32 %a) {25; CHECK-LABEL: f3:26; CHECK: afi %r2, 3276827; CHECK: br %r1428  %add = add i32 %a, 3276829  ret i32 %add30}31 32; Check the high end of the signed 32-bit range.33define i32 @f4(i32 %a) {34; CHECK-LABEL: f4:35; CHECK: afi %r2, 214748364736; CHECK: br %r1437  %add = add i32 %a, 214748364738  ret i32 %add39}40 41; Check the next value up, which is treated as a negative value.42define i32 @f5(i32 %a) {43; CHECK-LABEL: f5:44; CHECK: afi %r2, -214748364845; CHECK: br %r1446  %add = add i32 %a, 214748364847  ret i32 %add48}49 50; Check the high end of the negative AHI range.51define i32 @f6(i32 %a) {52; CHECK-LABEL: f6:53; CHECK: ahi %r2, -154; CHECK: br %r1455  %add = add i32 %a, -156  ret i32 %add57}58 59; Check the low end of the AHI range.60define i32 @f7(i32 %a) {61; CHECK-LABEL: f7:62; CHECK: ahi %r2, -3276863; CHECK: br %r1464  %add = add i32 %a, -3276865  ret i32 %add66}67 68; Check the next value down, which must use AFI instead.69define i32 @f8(i32 %a) {70; CHECK-LABEL: f8:71; CHECK: afi %r2, -3276972; CHECK: br %r1473  %add = add i32 %a, -3276974  ret i32 %add75}76 77; Check the low end of the signed 32-bit range.78define i32 @f9(i32 %a) {79; CHECK-LABEL: f9:80; CHECK: afi %r2, -214748364881; CHECK: br %r1482  %add = add i32 %a, -214748364883  ret i32 %add84}85 86; Check the next value down, which is treated as a positive value.87define i32 @f10(i32 %a) {88; CHECK-LABEL: f10:89; CHECK: afi %r2, 214748364790; CHECK: br %r1491  %add = add i32 %a, -214748364992  ret i32 %add93}94