Skip to content

Commit c9a2887

Browse files
committed
Pre-commit tests
1 parent a2b4c0f commit c9a2887

File tree

1 file changed

+114
-0
lines changed

1 file changed

+114
-0
lines changed

llvm/test/Transforms/InstSimplify/compare.ll

Lines changed: 114 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2724,6 +2724,45 @@ define i1 @icmp_nsw_false_5(i8 %V) {
27242724
ret i1 %cmp
27252725
}
27262726

2727+
define i1 @icmp_nsw_false_6(i8 %V) {
2728+
; CHECK-LABEL: @icmp_nsw_false_6(
2729+
; CHECK-NEXT: [[ADD:%.*]] = add i8 [[V:%.*]], 6
2730+
; CHECK-NEXT: [[ADDNSW:%.*]] = add nsw i8 [[V]], -1
2731+
; CHECK-NEXT: [[CMP:%.*]] = icmp sgt i8 [[ADD]], [[ADDNSW]]
2732+
; CHECK-NEXT: ret i1 [[CMP]]
2733+
;
2734+
%add = add i8 %V, 6
2735+
%addnsw = add nsw i8 %V, -1
2736+
%cmp = icmp sgt i8 %add, %addnsw
2737+
ret i1 %cmp
2738+
}
2739+
2740+
define i1 @icmp_nsw_false_7(i8 %V) {
2741+
; CHECK-LABEL: @icmp_nsw_false_7(
2742+
; CHECK-NEXT: [[ADD:%.*]] = add i8 [[V:%.*]], -1
2743+
; CHECK-NEXT: [[ADDNSW:%.*]] = add nsw i8 [[V]], 3
2744+
; CHECK-NEXT: [[CMP:%.*]] = icmp sle i8 [[ADD]], [[ADDNSW]]
2745+
; CHECK-NEXT: ret i1 [[CMP]]
2746+
;
2747+
%add = add i8 %V, -1
2748+
%addnsw = add nsw i8 %V, 3
2749+
%cmp = icmp sle i8 %add, %addnsw
2750+
ret i1 %cmp
2751+
}
2752+
2753+
define i1 @icmp_nsw_false_8(i8 %V) {
2754+
; CHECK-LABEL: @icmp_nsw_false_8(
2755+
; CHECK-NEXT: [[ADD:%.*]] = add i8 [[V:%.*]], -15
2756+
; CHECK-NEXT: [[ADDNSW:%.*]] = add nsw i8 [[V]], 42
2757+
; CHECK-NEXT: [[CMP:%.*]] = icmp sge i8 [[ADD]], [[ADDNSW]]
2758+
; CHECK-NEXT: ret i1 [[CMP]]
2759+
;
2760+
%add = add i8 %V, -15
2761+
%addnsw = add nsw i8 %V, 42
2762+
%cmp = icmp sge i8 %add, %addnsw
2763+
ret i1 %cmp
2764+
}
2765+
27272766
define i1 @icmp_nsw_i8(i8 %V) {
27282767
; CHECK-LABEL: @icmp_nsw_i8(
27292768
; CHECK-NEXT: ret i1 true
@@ -2868,6 +2907,42 @@ define i1 @icmp_nsw_11(i32 %V) {
28682907
ret i1 %cmp
28692908
}
28702909

2910+
define i1 @icmp_nsw_12(i32 %V) {
2911+
; CHECK-LABEL: @icmp_nsw_12(
2912+
; CHECK-NEXT: ret i1 true
2913+
;
2914+
%add5 = add i32 %V, 2
2915+
%add6 = add nsw i32 %V, 3
2916+
%cmp = icmp slt i32 %add5, %add6
2917+
ret i1 %cmp
2918+
}
2919+
2920+
define i1 @icmp_nsw_13(i32 %V) {
2921+
; CHECK-LABEL: @icmp_nsw_13(
2922+
; CHECK-NEXT: [[ADD5:%.*]] = add i32 [[V:%.*]], 7
2923+
; CHECK-NEXT: [[ADD6:%.*]] = add nsw i32 [[V]], 10
2924+
; CHECK-NEXT: [[CMP:%.*]] = icmp sle i32 [[ADD5]], [[ADD6]]
2925+
; CHECK-NEXT: ret i1 [[CMP]]
2926+
;
2927+
%add5 = add i32 %V, 7
2928+
%add6 = add nsw i32 %V, 10
2929+
%cmp = icmp sle i32 %add5, %add6
2930+
ret i1 %cmp
2931+
}
2932+
2933+
define i1 @icmp_nsw_14(i32 %V) {
2934+
; CHECK-LABEL: @icmp_nsw_14(
2935+
; CHECK-NEXT: [[ADD5:%.*]] = add i32 [[V:%.*]], 7
2936+
; CHECK-NEXT: [[ADD6:%.*]] = add nsw i32 [[V]], 10
2937+
; CHECK-NEXT: [[CMP:%.*]] = icmp sge i32 [[ADD5]], [[ADD6]]
2938+
; CHECK-NEXT: ret i1 [[CMP]]
2939+
;
2940+
%add5 = add i32 %V, 7
2941+
%add6 = add nsw i32 %V, 10
2942+
%cmp = icmp sge i32 %add5, %add6
2943+
ret i1 %cmp
2944+
}
2945+
28712946
define i1 @icmp_nsw_nonpos(i32 %V) {
28722947
; CHECK-LABEL: @icmp_nsw_nonpos(
28732948
; CHECK-NEXT: ret i1 false
@@ -2890,6 +2965,45 @@ define i1 @icmp_nsw_nonpos2(i32 %V) {
28902965
ret i1 %cmp
28912966
}
28922967

2968+
define i1 @icmp_nsw_nonpos3(i32 %V) {
2969+
; CHECK-LABEL: @icmp_nsw_nonpos3(
2970+
; CHECK-NEXT: [[ADD5:%.*]] = add i32 [[V:%.*]], -2
2971+
; CHECK-NEXT: [[ADD6:%.*]] = add nsw i32 [[V]], -5
2972+
; CHECK-NEXT: [[CMP:%.*]] = icmp sle i32 [[ADD5]], [[ADD6]]
2973+
; CHECK-NEXT: ret i1 [[CMP]]
2974+
;
2975+
%add5 = add i32 %V, -2
2976+
%add6 = add nsw i32 %V, -5
2977+
%cmp = icmp sle i32 %add5, %add6
2978+
ret i1 %cmp
2979+
}
2980+
2981+
define i1 @icmp_nsw_nonpos4(i32 %V) {
2982+
; CHECK-LABEL: @icmp_nsw_nonpos4(
2983+
; CHECK-NEXT: [[ADD5:%.*]] = add i32 [[V:%.*]], -10
2984+
; CHECK-NEXT: [[ADD6:%.*]] = add nsw i32 [[V]], -30
2985+
; CHECK-NEXT: [[CMP:%.*]] = icmp sgt i32 [[ADD5]], [[ADD6]]
2986+
; CHECK-NEXT: ret i1 [[CMP]]
2987+
;
2988+
%add5 = add i32 %V, -10
2989+
%add6 = add nsw i32 %V, -30
2990+
%cmp = icmp sgt i32 %add5, %add6
2991+
ret i1 %cmp
2992+
}
2993+
2994+
define i1 @icmp_nsw_nonpos5(i32 %V) {
2995+
; CHECK-LABEL: @icmp_nsw_nonpos5(
2996+
; CHECK-NEXT: [[ADD5:%.*]] = add i32 [[V:%.*]], -15
2997+
; CHECK-NEXT: [[ADD6:%.*]] = add nsw i32 [[V]], -100
2998+
; CHECK-NEXT: [[CMP:%.*]] = icmp sge i32 [[ADD5]], [[ADD6]]
2999+
; CHECK-NEXT: ret i1 [[CMP]]
3000+
;
3001+
%add5 = add i32 %V, -15
3002+
%add6 = add nsw i32 %V, -100
3003+
%cmp = icmp sge i32 %add5, %add6
3004+
ret i1 %cmp
3005+
}
3006+
28933007
declare i11 @llvm.ctpop.i11(i11)
28943008
declare i73 @llvm.ctpop.i73(i73)
28953009
declare <2 x i13> @llvm.ctpop.v2i13(<2 x i13>)

0 commit comments

Comments
 (0)