Skip to content

Commit b2fe025

Browse files
committed
[InstCombine][test] add tests for icmp ult with constant and offset; NFC
This is the 'ult' sibling pattern for: c7b658a
1 parent b41b414 commit b2fe025

File tree

1 file changed

+46
-0
lines changed

1 file changed

+46
-0
lines changed

llvm/test/Transforms/InstCombine/icmp-add.ll

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -793,3 +793,49 @@ define i1 @ugt_wrong_offset(i8 %a) {
793793
%ov = icmp ugt i8 %t, 251
794794
ret i1 %ov
795795
}
796+
797+
define i1 @ult_offset(i8 %a) {
798+
; CHECK-LABEL: @ult_offset(
799+
; CHECK-NEXT: [[T:%.*]] = add i8 [[A:%.*]], -6
800+
; CHECK-NEXT: [[OV:%.*]] = icmp ult i8 [[T]], 122
801+
; CHECK-NEXT: ret i1 [[OV]]
802+
;
803+
%t = add i8 %a, 250
804+
%ov = icmp ult i8 %t, 122
805+
ret i1 %ov
806+
}
807+
808+
define i1 @ult_offset_use(i32 %a) {
809+
; CHECK-LABEL: @ult_offset_use(
810+
; CHECK-NEXT: [[T:%.*]] = add i32 [[A:%.*]], 42
811+
; CHECK-NEXT: call void @use(i32 [[T]])
812+
; CHECK-NEXT: [[OV:%.*]] = icmp ult i32 [[T]], -2147483606
813+
; CHECK-NEXT: ret i1 [[OV]]
814+
;
815+
%t = add i32 %a, 42
816+
call void @use(i32 %t)
817+
%ov = icmp ult i32 %t, 2147483690
818+
ret i1 %ov
819+
}
820+
821+
define <2 x i1> @ult_offset_splat(<2 x i5> %a) {
822+
; CHECK-LABEL: @ult_offset_splat(
823+
; CHECK-NEXT: [[T:%.*]] = add <2 x i5> [[A:%.*]], <i5 9, i5 9>
824+
; CHECK-NEXT: [[OV:%.*]] = icmp ult <2 x i5> [[T]], <i5 -7, i5 -7>
825+
; CHECK-NEXT: ret <2 x i1> [[OV]]
826+
;
827+
%t = add <2 x i5> %a, <i5 9, i5 9>
828+
%ov = icmp ult <2 x i5> %t, <i5 25, i5 25>
829+
ret <2 x i1> %ov
830+
}
831+
832+
define i1 @ult_wrong_offset(i8 %a) {
833+
; CHECK-LABEL: @ult_wrong_offset(
834+
; CHECK-NEXT: [[T:%.*]] = add i8 [[A:%.*]], -6
835+
; CHECK-NEXT: [[OV:%.*]] = icmp ult i8 [[T]], 123
836+
; CHECK-NEXT: ret i1 [[OV]]
837+
;
838+
%t = add i8 %a, 250
839+
%ov = icmp ult i8 %t, 123
840+
ret i1 %ov
841+
}

0 commit comments

Comments
 (0)