Lines Matching full:sh

22 ; CHECK-NEXT:    [[SH:%.*]] = zext i1 [[TMP1]] to i32
23 ; CHECK-NEXT: ret i32 [[SH]]
26 %sh = lshr i32 %ct, 5
27 ret i32 %sh
33 ; CHECK-NEXT: [[SH:%.*]] = zext i1 [[TMP1]] to i32
34 ; CHECK-NEXT: ret i32 [[SH]]
37 %sh = lshr i32 %ct, 5
38 ret i32 %sh
44 ; CHECK-NEXT: [[SH:%.*]] = zext i1 [[TMP1]] to i32
45 ; CHECK-NEXT: ret i32 [[SH]]
48 %sh = lshr i32 %ct, 5
49 ret i32 %sh
55 ; CHECK-NEXT: [[SH:%.*]] = zext <2 x i1> [[TMP1]] to <2 x i8>
56 ; CHECK-NEXT: ret <2 x i8> [[SH]]
59 %sh = lshr <2 x i8> %ct, <i8 3, i8 3>
60 ret <2 x i8> %sh
66 ; CHECK-NEXT: [[SH:%.*]] = zext <2 x i1> [[TMP1]] to <2 x i8>
67 ; CHECK-NEXT: ret <2 x i8> [[SH]]
70 %sh = lshr <2 x i8> %ct, <i8 3, i8 3>
71 ret <2 x i8> %sh
77 ; CHECK-NEXT: [[SH:%.*]] = zext <2 x i1> [[TMP1]] to <2 x i8>
78 ; CHECK-NEXT: ret <2 x i8> [[SH]]
81 %sh = lshr <2 x i8> %ct, <i8 3, i8 3>
82 ret <2 x i8> %sh
90 %sh = lshr i32 %ct, 5
91 ret i32 %sh
99 %sh = lshr i32 %ct, 5
100 ret i32 %sh
108 %sh = lshr <2 x i8> %ct, <i8 3, i8 3>
109 ret <2 x i8> %sh
117 %sh = lshr <2 x i8> %ct, <i8 3, i8 0>
118 %ex = extractelement <2 x i8> %sh, i32 0
127 %sh = lshr <2 x i8> %ct, <i8 3, i8 3>
128 ret <2 x i8> %sh
136 %sh = lshr <2 x i8> %ct, <i8 3, i8 0>
137 %ex = extractelement <2 x i8> %sh, i32 0
304 ; CHECK-NEXT: [[SH:%.*]] = zext nneg i3 [[TMP1]] to i18
305 ; CHECK-NEXT: ret i18 [[SH]]
308 %sh = lshr i18 %sext, 17
309 ret i18 %sh
317 ; CHECK-NEXT: [[SH:%.*]] = lshr i32 [[SEXT]], 31
318 ; CHECK-NEXT: ret i32 [[SH]]
321 %sh = lshr i32 %sext, 31
322 ret i32 %sh
328 ; CHECK-NEXT: [[SH:%.*]] = zext nneg <2 x i3> [[TMP1]] to <2 x i8>
329 ; CHECK-NEXT: ret <2 x i8> [[SH]]
332 %sh = lshr <2 x i8> %sext, <i8 7, i8 7>
333 ret <2 x i8> %sh
341 ; CHECK-NEXT: [[SH:%.*]] = zext nneg <2 x i8> [[TMP1]] to <2 x i32>
342 ; CHECK-NEXT: ret <2 x i32> [[SH]]
345 %sh = lshr <2 x i32> %zx, <i32 3, i32 3>
346 ret <2 x i32> %sh
846 %sh = lshr i32 %x, 28
847 %tr = trunc i32 %sh to i12
858 %sh = lshr <2 x i32> %x, <i32 22, i32 22>
859 %tr = trunc <2 x i32> %sh to <2 x i12>
870 %sh = lshr i32 %x, 20
871 %tr = trunc i32 %sh to i12
883 %sh = lshr i32 %x, 19
884 %tr = trunc i32 %sh to i12
895 %sh = lshr i32 %x, 20
896 %tr = trunc i32 %sh to i12
907 %sh = lshr i32 %x, 30
908 %tr = trunc i32 %sh to i12
917 %sh = lshr i32 %x, 21
918 %tr = trunc i32 %sh to i12
927 %sh = lshr i32 %x, 31
928 %tr = trunc i32 %sh to i12
935 ; CHECK-NEXT: [[SH:%.*]] = lshr i32 [[X:%.*]], 28
936 ; CHECK-NEXT: call void @use(i32 [[SH]])
941 %sh = lshr i32 %x, 28
942 call void @use(i32 %sh)
943 %tr = trunc i32 %sh to i12
950 ; CHECK-NEXT: [[SH:%.*]] = lshr <3 x i14> [[X:%.*]], splat (i14 6)
951 ; CHECK-NEXT: call void @usevec(<3 x i14> [[SH]])
956 %sh = lshr <3 x i14> %x, <i14 6, i14 6, i14 6>
957 call void @usevec(<3 x i14> %sh)
958 %tr = trunc <3 x i14> %sh to <3 x i9>
965 ; CHECK-NEXT: [[SH:%.*]] = lshr i32 [[X:%.*]], 20
966 ; CHECK-NEXT: call void @use(i32 [[SH]])
971 %sh = lshr i32 %x, 20
972 call void @use(i32 %sh)
973 %tr = trunc i32 %sh to i12
982 ; CHECK-NEXT: [[SH:%.*]] = lshr i32 [[X:%.*]], 19
983 ; CHECK-NEXT: call void @use(i32 [[SH]])
984 ; CHECK-NEXT: [[TR:%.*]] = trunc i32 [[SH]] to i12
988 %sh = lshr i32 %x, 19
989 call void @use(i32 %sh)
990 %tr = trunc i32 %sh to i12
997 ; CHECK-NEXT: [[SH:%.*]] = lshr i32 [[X:%.*]], 20
998 ; CHECK-NEXT: call void @use(i32 [[SH]])
1003 %sh = lshr i32 %x, 20
1004 call void @use(i32 %sh)
1005 %tr = trunc i32 %sh to i12
1012 ; CHECK-NEXT: [[SH:%.*]] = lshr i32 [[X:%.*]], 30
1013 ; CHECK-NEXT: call void @use(i32 [[SH]])
1018 %sh = lshr i32 %x, 30
1019 call void @use(i32 %sh)
1020 %tr = trunc i32 %sh to i12
1029 ; CHECK-NEXT: [[SH:%.*]] = lshr i32 [[X:%.*]], 21
1030 ; CHECK-NEXT: call void @use(i32 [[SH]])
1033 %sh = lshr i32 %x, 21
1034 call void @use(i32 %sh)
1035 %tr = trunc i32 %sh to i12
1044 ; CHECK-NEXT: [[SH:%.*]] = lshr i32 [[X:%.*]], 31
1045 ; CHECK-NEXT: call void @use(i32 [[SH]])
1048 %sh = lshr i32 %x, 31
1049 call void @use(i32 %sh)
1050 %tr = trunc i32 %sh to i12