Index: tests_lit/llvm2ice_tests/8bit.pnacl.ll |
diff --git a/tests_lit/llvm2ice_tests/8bit.pnacl.ll b/tests_lit/llvm2ice_tests/8bit.pnacl.ll |
index 2307712468072466976e73f51d0a760f03e3f6d7..0f0e35b816975d0f1a16a4a2c043354c4d1dfa2b 100644 |
--- a/tests_lit/llvm2ice_tests/8bit.pnacl.ll |
+++ b/tests_lit/llvm2ice_tests/8bit.pnacl.ll |
@@ -159,6 +159,69 @@ entry: |
; CHECK-LABEL: srem8BitConst |
; CHECK: idiv {{[abcd]l|byte ptr}} |
+define internal i32 @shl8Bit(i32 %a, i32 %b) { |
+entry: |
+ %a_8 = trunc i32 %a to i8 |
+ %b_8 = trunc i32 %b to i8 |
+ %shl = shl i8 %b_8, %a_8 |
+ %ret = zext i8 %shl to i32 |
+ ret i32 %ret |
+} |
+; CHECK-LABEL: shl8Bit |
+; CHECK: shl {{[abd]l|byte ptr}}, cl |
+ |
+define internal i32 @shl8BitConst(i32 %a, i32 %b) { |
+entry: |
+ %a_8 = trunc i32 %a to i8 |
+ %shl = shl i8 %a_8, 6 |
+ %ret = zext i8 %shl to i32 |
+ ret i32 %ret |
+} |
+; CHECK-LABEL: shl8BitConst |
+; CHECK: shl {{[abcd]l|byte ptr}}, 6 |
+ |
+define internal i32 @lshr8Bit(i32 %a, i32 %b) { |
+entry: |
+ %a_8 = trunc i32 %a to i8 |
+ %b_8 = trunc i32 %b to i8 |
+ %lshr = lshr i8 %b_8, %a_8 |
+ %ret = zext i8 %lshr to i32 |
+ ret i32 %ret |
+} |
+; CHECK-LABEL: lshr8Bit |
+; CHECK: shr {{[abd]l|byte ptr}}, cl |
+ |
+define internal i32 @lshr8BitConst(i32 %a, i32 %b) { |
+entry: |
+ %a_8 = trunc i32 %a to i8 |
+ %lshr = lshr i8 %a_8, 6 |
+ %ret = zext i8 %lshr to i32 |
+ ret i32 %ret |
+} |
+; CHECK-LABEL: lshr8BitConst |
+; CHECK: shr {{[abcd]l|byte ptr}}, 6 |
+ |
+define internal i32 @ashr8Bit(i32 %a, i32 %b) { |
+entry: |
+ %a_8 = trunc i32 %a to i8 |
+ %b_8 = trunc i32 %b to i8 |
+ %ashr = ashr i8 %b_8, %a_8 |
+ %ret = zext i8 %ashr to i32 |
+ ret i32 %ret |
+} |
+; CHECK-LABEL: ashr8Bit |
+; CHECK: sar {{[abd]l|byte ptr}}, cl |
+ |
+define internal i32 @ashr8BitConst(i32 %a, i32 %b) { |
+entry: |
+ %a_8 = trunc i32 %a to i8 |
+ %ashr = ashr i8 %a_8, 6 |
+ %ret = zext i8 %ashr to i32 |
+ ret i32 %ret |
+} |
+; CHECK-LABEL: ashr8BitConst |
+; CHECK: sar {{[abcd]l|byte ptr}}, 6 |
+ |
; ERRORS-NOT: ICE translation error |
; DUMP-NOT: SZ |