Lines Matching full:sh
4 define i32 @test_or_fshl(i32 %a, i32 %b, i32 %c, i32 %d, i32 %sh) {
6 ; CHECK-SAME: i32 [[A:%.*]], i32 [[B:%.*]], i32 [[C:%.*]], i32 [[D:%.*]], i32 [[SH:%.*]]) {
9 ; CHECK-NEXT: [[RET:%.*]] = call i32 @llvm.fshl.i32(i32 [[TMP1]], i32 [[TMP2]], i32 [[SH]])
12 %val1 = call i32 @llvm.fshl.i32(i32 %a, i32 %b, i32 %sh)
13 %val2 = call i32 @llvm.fshl.i32(i32 %c, i32 %d, i32 %sh)
17 define i32 @test_and_fshl(i32 %a, i32 %b, i32 %c, i32 %d, i32 %sh) {
19 ; CHECK-SAME: i32 [[A:%.*]], i32 [[B:%.*]], i32 [[C:%.*]], i32 [[D:%.*]], i32 [[SH:%.*]]) {
22 ; CHECK-NEXT: [[RET:%.*]] = call i32 @llvm.fshl.i32(i32 [[TMP1]], i32 [[TMP2]], i32 [[SH]])
25 %val1 = call i32 @llvm.fshl.i32(i32 %a, i32 %b, i32 %sh)
26 %val2 = call i32 @llvm.fshl.i32(i32 %c, i32 %d, i32 %sh)
30 define i32 @test_xor_fshl(i32 %a, i32 %b, i32 %c, i32 %d, i32 %sh) {
32 ; CHECK-SAME: i32 [[A:%.*]], i32 [[B:%.*]], i32 [[C:%.*]], i32 [[D:%.*]], i32 [[SH:%.*]]) {
35 ; CHECK-NEXT: [[RET:%.*]] = call i32 @llvm.fshl.i32(i32 [[TMP1]], i32 [[TMP2]], i32 [[SH]])
38 %val1 = call i32 @llvm.fshl.i32(i32 %a, i32 %b, i32 %sh)
39 %val2 = call i32 @llvm.fshl.i32(i32 %c, i32 %d, i32 %sh)
43 define i32 @test_or_fshr(i32 %a, i32 %b, i32 %c, i32 %d, i32 %sh) {
45 ; CHECK-SAME: i32 [[A:%.*]], i32 [[B:%.*]], i32 [[C:%.*]], i32 [[D:%.*]], i32 [[SH:%.*]]) {
48 ; CHECK-NEXT: [[RET:%.*]] = call i32 @llvm.fshr.i32(i32 [[TMP1]], i32 [[TMP2]], i32 [[SH]])
51 %val1 = call i32 @llvm.fshr.i32(i32 %a, i32 %b, i32 %sh)
52 %val2 = call i32 @llvm.fshr.i32(i32 %c, i32 %d, i32 %sh)
122 define i32 @test_or_fshl_fshr(i32 %a, i32 %b, i32 %c, i32 %d, i32 %sh) {
124 ; CHECK-SAME: i32 [[A:%.*]], i32 [[B:%.*]], i32 [[C:%.*]], i32 [[D:%.*]], i32 [[SH:%.*]]) {
125 ; CHECK-NEXT: [[VAL1:%.*]] = call i32 @llvm.fshl.i32(i32 [[A]], i32 [[B]], i32 [[SH]])
126 ; CHECK-NEXT: [[VAL2:%.*]] = call i32 @llvm.fshr.i32(i32 [[C]], i32 [[D]], i32 [[SH]])
130 %val1 = call i32 @llvm.fshl.i32(i32 %a, i32 %b, i32 %sh)
131 %val2 = call i32 @llvm.fshr.i32(i32 %c, i32 %d, i32 %sh)
161 define i32 @test_add_fshl(i32 %a, i32 %b, i32 %c, i32 %d, i32 %sh) {
163 ; CHECK-SAME: i32 [[A:%.*]], i32 [[B:%.*]], i32 [[C:%.*]], i32 [[D:%.*]], i32 [[SH:%.*]]) {
164 ; CHECK-NEXT: [[VAL1:%.*]] = call i32 @llvm.fshl.i32(i32 [[A]], i32 [[B]], i32 [[SH]])
165 ; CHECK-NEXT: [[VAL2:%.*]] = call i32 @llvm.fshl.i32(i32 [[C]], i32 [[D]], i32 [[SH]])
169 %val1 = call i32 @llvm.fshl.i32(i32 %a, i32 %b, i32 %sh)
170 %val2 = call i32 @llvm.fshl.i32(i32 %c, i32 %d, i32 %sh)
174 define i32 @test_or_fshl_multiuse(i32 %a, i32 %b, i32 %c, i32 %d, i32 %sh) {
176 ; CHECK-SAME: i32 [[A:%.*]], i32 [[B:%.*]], i32 [[C:%.*]], i32 [[D:%.*]], i32 [[SH:%.*]]) {
177 ; CHECK-NEXT: [[VAL1:%.*]] = call i32 @llvm.fshl.i32(i32 [[A]], i32 [[B]], i32 [[SH]])
179 ; CHECK-NEXT: [[VAL2:%.*]] = call i32 @llvm.fshl.i32(i32 [[C]], i32 [[D]], i32 [[SH]])
183 %val1 = call i32 @llvm.fshl.i32(i32 %a, i32 %b, i32 %sh)
185 %val2 = call i32 @llvm.fshl.i32(i32 %c, i32 %d, i32 %sh)
204 define i32 @test_or_fshl_constant(i32 %a, i32 %b, i32 %sh) {
206 ; CHECK-SAME: i32 [[A:%.*]], i32 [[B:%.*]], i32 [[SH:%.*]]) {
207 ; CHECK-NEXT: [[VAL1:%.*]] = call i32 @llvm.fshl.i32(i32 [[A]], i32 [[B]], i32 [[SH]])
211 %val1 = call i32 @llvm.fshl.i32(i32 %a, i32 %b, i32 %sh)