47 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc -mtriple=msp430-- < %s | FileCheck %s3 4define i16 @select_to_shifts_i16(i16 %a, i16 %b) {5; CHECK-LABEL: select_to_shifts_i16:6; CHECK: ; %bb.0:7; CHECK-NEXT: mov r12, r148; CHECK-NEXT: clr r129; CHECK-NEXT: bit #2, r1410; CHECK-NEXT: jeq .LBB0_211; CHECK-NEXT: ; %bb.1:12; CHECK-NEXT: mov r13, r1213; CHECK-NEXT: .LBB0_2:14; CHECK-NEXT: ret15 %and = and i16 %a, 216 %tobool = icmp eq i16 %and, 017 %select = select i1 %tobool, i16 0, i16 %b18 ret i16 %select19}20 21define i32 @select_to_shifts_i32(i32 %a, i32 %b) {22; CHECK-LABEL: select_to_shifts_i32:23; CHECK: ; %bb.0:24; CHECK-NEXT: mov r12, r1125; CHECK-NEXT: and #2, r1126; CHECK-NEXT: clr r1327; CHECK-NEXT: tst r1128; CHECK-NEXT: clr r1229; CHECK-NEXT: jne .LBB1_330; CHECK-NEXT: ; %bb.1:31; CHECK-NEXT: tst r1132; CHECK-NEXT: jne .LBB1_433; CHECK-NEXT: .LBB1_2:34; CHECK-NEXT: ret35; CHECK-NEXT: .LBB1_3:36; CHECK-NEXT: mov r14, r1237; CHECK-NEXT: tst r1138; CHECK-NEXT: jeq .LBB1_239; CHECK-NEXT: .LBB1_4:40; CHECK-NEXT: mov r15, r1341; CHECK-NEXT: ret42 %and = and i32 %a, 243 %tobool = icmp eq i32 %and, 044 %select = select i1 %tobool, i32 0, i32 %b45 ret i32 %select46}47