Skip to content

Commit 549cb4f

Browse files
committed
[RISCV] Pre-commit test
1 parent 462bf47 commit 549cb4f

File tree

1 file changed

+28
-0
lines changed

1 file changed

+28
-0
lines changed

llvm/test/Transforms/InstCombine/and-xor-or.ll

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4334,6 +4334,20 @@ define i16 @or_zext_zext_2_use1(i8 %x, i8 %y) {
43344334
ret i16 %r
43354335
}
43364336

4337+
define i16 @or_disjoint_zext_zext(i8 %x, i4 %y) {
4338+
; CHECK-LABEL: define {{[^@]+}}@or_disjoint_zext_zext
4339+
; CHECK-SAME: (i8 [[X:%.*]], i4 [[Y:%.*]]) {
4340+
; CHECK-NEXT: [[TMP1:%.*]] = zext i4 [[Y]] to i8
4341+
; CHECK-NEXT: [[R1:%.*]] = or i8 [[X]], [[TMP1]]
4342+
; CHECK-NEXT: [[R:%.*]] = zext i8 [[R1]] to i16
4343+
; CHECK-NEXT: ret i16 [[R]]
4344+
;
4345+
%zx = zext i8 %x to i16
4346+
%zy = zext i4 %y to i16
4347+
%r = or disjoint i16 %zy, %zx
4348+
ret i16 %r
4349+
}
4350+
43374351
define <2 x i16> @xor_zext_zext(<2 x i8> %x, <2 x i4> %y) {
43384352
; CHECK-LABEL: define {{[^@]+}}@xor_zext_zext
43394353
; CHECK-SAME: (<2 x i8> [[X:%.*]], <2 x i4> [[Y:%.*]]) {
@@ -4463,6 +4477,20 @@ define i16 @or_sext_sext_2_use1(i8 %x, i8 %y) {
44634477
ret i16 %r
44644478
}
44654479

4480+
define i16 @or_disjoint_sext_sext(i8 %x, i4 %y) {
4481+
; CHECK-LABEL: define {{[^@]+}}@or_disjoint_sext_sext
4482+
; CHECK-SAME: (i8 [[X:%.*]], i4 [[Y:%.*]]) {
4483+
; CHECK-NEXT: [[TMP1:%.*]] = sext i4 [[Y]] to i8
4484+
; CHECK-NEXT: [[R1:%.*]] = or i8 [[X]], [[TMP1]]
4485+
; CHECK-NEXT: [[R:%.*]] = sext i8 [[R1]] to i16
4486+
; CHECK-NEXT: ret i16 [[R]]
4487+
;
4488+
%sx = sext i8 %x to i16
4489+
%sy = sext i4 %y to i16
4490+
%r = or disjoint i16 %sx, %sy
4491+
ret i16 %r
4492+
}
4493+
44664494
define i16 @xor_sext_sext(i8 %x, i4 %y) {
44674495
; CHECK-LABEL: define {{[^@]+}}@xor_sext_sext
44684496
; CHECK-SAME: (i8 [[X:%.*]], i4 [[Y:%.*]]) {

0 commit comments

Comments
 (0)