138c265feSSanjay Patel; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py 238c265feSSanjay Patel; RUN: llc -mtriple=msp430-- < %s | FileCheck %s 338c265feSSanjay Patel 438c265feSSanjay Pateldefine i16 @select_to_shifts_i16(i16 %a, i16 %b) { 538c265feSSanjay Patel; CHECK-LABEL: select_to_shifts_i16: 6*7b3bbd83SJay Foad; CHECK: ; %bb.0: 7288079aaSSanjay Patel; CHECK-NEXT: mov r12, r14 8288079aaSSanjay Patel; CHECK-NEXT: clr r12 9288079aaSSanjay Patel; CHECK-NEXT: bit #2, r14 10288079aaSSanjay Patel; CHECK-NEXT: jeq .LBB0_2 11288079aaSSanjay Patel; CHECK-NEXT: ; %bb.1: 12288079aaSSanjay Patel; CHECK-NEXT: mov r13, r12 13288079aaSSanjay Patel; CHECK-NEXT: .LBB0_2: 1438c265feSSanjay Patel; CHECK-NEXT: ret 1538c265feSSanjay Patel %and = and i16 %a, 2 1638c265feSSanjay Patel %tobool = icmp eq i16 %and, 0 1738c265feSSanjay Patel %select = select i1 %tobool, i16 0, i16 %b 1838c265feSSanjay Patel ret i16 %select 1938c265feSSanjay Patel} 2038c265feSSanjay Patel 2138c265feSSanjay Pateldefine i32 @select_to_shifts_i32(i32 %a, i32 %b) { 2238c265feSSanjay Patel; CHECK-LABEL: select_to_shifts_i32: 23*7b3bbd83SJay Foad; CHECK: ; %bb.0: 24*7b3bbd83SJay Foad; CHECK-NEXT: mov r12, r11 25*7b3bbd83SJay Foad; CHECK-NEXT: and #2, r11 26288079aaSSanjay Patel; CHECK-NEXT: clr r13 27*7b3bbd83SJay Foad; CHECK-NEXT: tst r11 28*7b3bbd83SJay Foad; CHECK-NEXT: clr r12 29288079aaSSanjay Patel; CHECK-NEXT: jne .LBB1_3 30288079aaSSanjay Patel; CHECK-NEXT: ; %bb.1: 31*7b3bbd83SJay Foad; CHECK-NEXT: tst r11 32288079aaSSanjay Patel; CHECK-NEXT: jne .LBB1_4 33288079aaSSanjay Patel; CHECK-NEXT: .LBB1_2: 34288079aaSSanjay Patel; CHECK-NEXT: ret 35288079aaSSanjay Patel; CHECK-NEXT: .LBB1_3: 36*7b3bbd83SJay Foad; CHECK-NEXT: mov r14, r12 37*7b3bbd83SJay Foad; CHECK-NEXT: tst r11 38288079aaSSanjay Patel; CHECK-NEXT: jeq .LBB1_2 39288079aaSSanjay Patel; CHECK-NEXT: .LBB1_4: 40288079aaSSanjay Patel; CHECK-NEXT: mov r15, r13 4138c265feSSanjay Patel; CHECK-NEXT: ret 4238c265feSSanjay Patel %and = and i32 %a, 2 4338c265feSSanjay Patel %tobool = icmp eq i32 %and, 0 4438c265feSSanjay Patel %select = select i1 %tobool, i32 0, i32 %b 4538c265feSSanjay Patel ret i32 %select 4638c265feSSanjay Patel} 47