78 lines · plain
1; RUN: llc < %s -mtriple=xcore -asm-verbose=0 | FileCheck %s2define i32 @ashr(i32 %a, i32 %b) nounwind {3 %1 = ashr i32 %a, %b4 ret i32 %15}6; CHECK-LABEL: ashr:7; CHECK-NEXT: ashr r0, r0, r18 9define i32 @ashri1(i32 %a) nounwind {10 %1 = ashr i32 %a, 2411 ret i32 %112}13; CHECK-LABEL: ashri1:14; CHECK-NEXT: ashr r0, r0, 2415 16define i32 @ashri2(i32 %a) nounwind {17 %1 = ashr i32 %a, 3118 ret i32 %119}20; CHECK-LABEL: ashri2:21; CHECK-NEXT: ashr r0, r0, 3222 23define i32 @f1(i32 %a) nounwind nounwind {24 %1 = icmp slt i32 %a, 025 br i1 %1, label %less, label %not_less26less:27 ret i32 1028not_less:29 ret i32 1730}31; CHECK-LABEL: f1:32; CHECK-NEXT: ashr r0, r0, 3233; CHECK-NEXT: bt r034 35define i32 @f2(i32 %a) nounwind {36 %1 = icmp sge i32 %a, 037 br i1 %1, label %greater, label %not_greater38greater:39 ret i32 1040not_greater:41 ret i32 1742}43; CHECK-LABEL: f2:44; CHECK-NEXT: ashr r0, r0, 3245; CHECK-NEXT: bt r046 47define i32 @f3(i32 %a) nounwind {48 %1 = icmp slt i32 %a, 049 %2 = select i1 %1, i32 10, i32 1750 ret i32 %251}52; CHECK-LABEL: f3:53; CHECK-NEXT: ashr r0, r0, 3254; CHECK-NEXT: bt r055; CHECK-NEXT: ldc r0, 1756; CHECK: ldc r0, 1057 58define i32 @f4(i32 %a) nounwind {59 %1 = icmp sge i32 %a, 060 %2 = select i1 %1, i32 10, i32 1761 ret i32 %262}63; CHECK-LABEL: f4:64; CHECK-NEXT: ashr r0, r0, 3265; CHECK-NEXT: bt r066; CHECK-NEXT: ldc r0, 1067; CHECK: ldc r0, 1768 69define i32 @f5(i32 %a) nounwind {70 %1 = icmp sge i32 %a, 071 %2 = zext i1 %1 to i3272 ret i32 %273}74; CHECK-LABEL: f5:75; CHECK-NEXT: not r0, r076; CHECK-NEXT: mkmsk r1, 577; CHECK-NEXT: shr r0, r0, r178