Skip to content

Commit

Permalink
[InstCombine] regenerate checks; NFC
Browse files Browse the repository at this point in the history
llvm-svn: 346689
  • Loading branch information
rotateright committed Nov 12, 2018
1 parent 93c64e5 commit 8512e59
Showing 1 changed file with 16 additions and 15 deletions.
31 changes: 16 additions & 15 deletions llvm/test/Transforms/InstCombine/rotate.ll
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
; RUN: opt < %s -instcombine -S | FileCheck %s

target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a0:0:64-f80:128:128"
Expand All @@ -9,12 +10,12 @@ target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f3

define i16 @rotate_left_16bit(i16 %v, i32 %shift) {
; CHECK-LABEL: @rotate_left_16bit(
; CHECK-NEXT: [[TMP1:%.*]] = trunc i32 %shift to i16
; CHECK-NEXT: [[TMP1:%.*]] = trunc i32 [[SHIFT:%.*]] to i16
; CHECK-NEXT: [[TMP2:%.*]] = and i16 [[TMP1]], 15
; CHECK-NEXT: [[TMP3:%.*]] = sub i16 0, [[TMP1]]
; CHECK-NEXT: [[TMP4:%.*]] = and i16 [[TMP3]], 15
; CHECK-NEXT: [[TMP5:%.*]] = lshr i16 %v, [[TMP4]]
; CHECK-NEXT: [[TMP6:%.*]] = shl i16 %v, [[TMP2]]
; CHECK-NEXT: [[TMP5:%.*]] = lshr i16 [[V:%.*]], [[TMP4]]
; CHECK-NEXT: [[TMP6:%.*]] = shl i16 [[V]], [[TMP2]]
; CHECK-NEXT: [[CONV2:%.*]] = or i16 [[TMP5]], [[TMP6]]
; CHECK-NEXT: ret i16 [[CONV2]]
;
Expand All @@ -32,12 +33,12 @@ define i16 @rotate_left_16bit(i16 %v, i32 %shift) {

define <2 x i16> @rotate_left_commute_16bit_vec(<2 x i16> %v, <2 x i32> %shift) {
; CHECK-LABEL: @rotate_left_commute_16bit_vec(
; CHECK-NEXT: [[TMP1:%.*]] = trunc <2 x i32> %shift to <2 x i16>
; CHECK-NEXT: [[TMP1:%.*]] = trunc <2 x i32> [[SHIFT:%.*]] to <2 x i16>
; CHECK-NEXT: [[TMP2:%.*]] = and <2 x i16> [[TMP1]], <i16 15, i16 15>
; CHECK-NEXT: [[TMP3:%.*]] = sub <2 x i16> zeroinitializer, [[TMP1]]
; CHECK-NEXT: [[TMP4:%.*]] = and <2 x i16> [[TMP3]], <i16 15, i16 15>
; CHECK-NEXT: [[TMP5:%.*]] = shl <2 x i16> %v, [[TMP2]]
; CHECK-NEXT: [[TMP6:%.*]] = lshr <2 x i16> %v, [[TMP4]]
; CHECK-NEXT: [[TMP5:%.*]] = shl <2 x i16> [[V:%.*]], [[TMP2]]
; CHECK-NEXT: [[TMP6:%.*]] = lshr <2 x i16> [[V]], [[TMP4]]
; CHECK-NEXT: [[CONV2:%.*]] = or <2 x i16> [[TMP5]], [[TMP6]]
; CHECK-NEXT: ret <2 x i16> [[CONV2]]
;
Expand All @@ -55,11 +56,11 @@ define <2 x i16> @rotate_left_commute_16bit_vec(<2 x i16> %v, <2 x i32> %shift)

define i8 @rotate_right_8bit(i8 %v, i3 %shift) {
; CHECK-LABEL: @rotate_right_8bit(
; CHECK-NEXT: [[TMP1:%.*]] = zext i3 %shift to i8
; CHECK-NEXT: [[TMP2:%.*]] = sub i3 0, %shift
; CHECK-NEXT: [[TMP1:%.*]] = zext i3 [[SHIFT:%.*]] to i8
; CHECK-NEXT: [[TMP2:%.*]] = sub i3 0, [[SHIFT]]
; CHECK-NEXT: [[TMP3:%.*]] = zext i3 [[TMP2]] to i8
; CHECK-NEXT: [[TMP4:%.*]] = shl i8 %v, [[TMP3]]
; CHECK-NEXT: [[TMP5:%.*]] = lshr i8 %v, [[TMP1]]
; CHECK-NEXT: [[TMP4:%.*]] = shl i8 [[V:%.*]], [[TMP3]]
; CHECK-NEXT: [[TMP5:%.*]] = lshr i8 [[V]], [[TMP1]]
; CHECK-NEXT: [[CONV2:%.*]] = or i8 [[TMP4]], [[TMP5]]
; CHECK-NEXT: ret i8 [[CONV2]]
;
Expand All @@ -78,11 +79,11 @@ define i8 @rotate_right_8bit(i8 %v, i3 %shift) {

define i8 @rotate_right_commute_8bit(i32 %v, i32 %shift) {
; CHECK-LABEL: @rotate_right_commute_8bit(
; CHECK-NEXT: [[TMP1:%.*]] = trunc i32 %shift to i8
; CHECK-NEXT: [[TMP1:%.*]] = trunc i32 [[SHIFT:%.*]] to i8
; CHECK-NEXT: [[TMP2:%.*]] = and i8 [[TMP1]], 3
; CHECK-NEXT: [[TMP3:%.*]] = sub nsw i8 0, [[TMP2]]
; CHECK-NEXT: [[TMP4:%.*]] = and i8 [[TMP3]], 7
; CHECK-NEXT: [[TMP5:%.*]] = trunc i32 %v to i8
; CHECK-NEXT: [[TMP5:%.*]] = trunc i32 [[V:%.*]] to i8
; CHECK-NEXT: [[TMP6:%.*]] = lshr i8 [[TMP5]], [[TMP2]]
; CHECK-NEXT: [[TMP7:%.*]] = shl i8 [[TMP5]], [[TMP4]]
; CHECK-NEXT: [[CONV2:%.*]] = or i8 [[TMP6]], [[TMP7]]
Expand All @@ -103,12 +104,12 @@ define i8 @rotate_right_commute_8bit(i32 %v, i32 %shift) {

define i8 @rotate8_not_safe(i8 %v, i32 %shamt) {
; CHECK-LABEL: @rotate8_not_safe(
; CHECK-NEXT: [[TMP1:%.*]] = trunc i32 %shamt to i8
; CHECK-NEXT: [[TMP1:%.*]] = trunc i32 [[SHAMT:%.*]] to i8
; CHECK-NEXT: [[TMP2:%.*]] = sub i8 0, [[TMP1]]
; CHECK-NEXT: [[TMP3:%.*]] = and i8 [[TMP1]], 7
; CHECK-NEXT: [[TMP4:%.*]] = and i8 [[TMP2]], 7
; CHECK-NEXT: [[TMP5:%.*]] = lshr i8 %v, [[TMP4]]
; CHECK-NEXT: [[TMP6:%.*]] = shl i8 %v, [[TMP3]]
; CHECK-NEXT: [[TMP5:%.*]] = lshr i8 [[V:%.*]], [[TMP4]]
; CHECK-NEXT: [[TMP6:%.*]] = shl i8 [[V]], [[TMP3]]
; CHECK-NEXT: [[RET:%.*]] = or i8 [[TMP5]], [[TMP6]]
; CHECK-NEXT: ret i8 [[RET]]
;
Expand Down

0 comments on commit 8512e59

Please sign in to comment.