95 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc -mtriple=thumbv6m-eabi -verify-machineinstrs < %s | FileCheck %s3 4define i32 @subs(i32 %a, i32 %b) {5; CHECK-LABEL: subs:6; CHECK: @ %bb.0: @ %entry7; CHECK-NEXT: subs r0, r0, r18; CHECK-NEXT: beq .LBB0_29; CHECK-NEXT: @ %bb.1: @ %false10; CHECK-NEXT: movs r0, #511; CHECK-NEXT: bx lr12; CHECK-NEXT: .LBB0_2: @ %true13; CHECK-NEXT: movs r0, #414; CHECK-NEXT: bx lr15entry:16 %c = sub i32 %a, %b17 %d = icmp eq i32 %c, 018 br i1 %d, label %true, label %false19 20true:21 ret i32 422 23false:24 ret i32 525}26 27define i32 @addsrr(i32 %a, i32 %b) {28; CHECK-LABEL: addsrr:29; CHECK: @ %bb.0: @ %entry30; CHECK-NEXT: adds r0, r0, r131; CHECK-NEXT: beq .LBB1_232; CHECK-NEXT: @ %bb.1: @ %false33; CHECK-NEXT: movs r0, #534; CHECK-NEXT: bx lr35; CHECK-NEXT: .LBB1_2: @ %true36; CHECK-NEXT: movs r0, #437; CHECK-NEXT: bx lr38entry:39 %c = add i32 %a, %b40 %d = icmp eq i32 %c, 041 br i1 %d, label %true, label %false42 43true:44 ret i32 445 46false:47 ret i32 548}49 50define i32 @lslri(i32 %a, i32 %b) {51; CHECK-LABEL: lslri:52; CHECK: @ %bb.0: @ %entry53; CHECK-NEXT: lsls r0, r0, #354; CHECK-NEXT: beq .LBB2_255; CHECK-NEXT: @ %bb.1: @ %false56; CHECK-NEXT: movs r0, #557; CHECK-NEXT: bx lr58; CHECK-NEXT: .LBB2_2: @ %true59; CHECK-NEXT: movs r0, #460; CHECK-NEXT: bx lr61entry:62 %c = shl i32 %a, 363 %d = icmp eq i32 %c, 064 br i1 %d, label %true, label %false65 66true:67 ret i32 468 69false:70 ret i32 571}72 73define i32 @lslrr(i32 %a, i32 %b) {74; CHECK-LABEL: lslrr:75; CHECK: @ %bb.0: @ %entry76; CHECK-NEXT: lsls r0, r177; CHECK-NEXT: beq .LBB3_278; CHECK-NEXT: @ %bb.1: @ %false79; CHECK-NEXT: movs r0, #580; CHECK-NEXT: bx lr81; CHECK-NEXT: .LBB3_2: @ %true82; CHECK-NEXT: movs r0, #483; CHECK-NEXT: bx lr84entry:85 %c = shl i32 %a, %b86 %d = icmp eq i32 %c, 087 br i1 %d, label %true, label %false88 89true:90 ret i32 491 92false:93 ret i32 594}95