@@ -53,6 +53,14 @@ define void @andcmp() {
53
53
; CHECK-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: %c32 = icmp eq i32 %a32, 0
54
54
; CHECK-NEXT: Cost Model: Found costs of 1 for: %a64 = and i64 undef, undef
55
55
; CHECK-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: %c64 = icmp ne i64 %a64, 0
56
+ ; CHECK-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: %c32ge = icmp sge i32 %a32, 1
57
+ ; CHECK-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: %c32le = icmp slt i32 %a32, 1
58
+ ; CHECK-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: %c32leneg = icmp sle i32 %a32, -1
59
+ ; CHECK-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: %c32gtneg = icmp sgt i32 %a32, -1
60
+ ; CHECK-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: %c64ge = icmp sge i64 %a64, 1
61
+ ; CHECK-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: %c64le = icmp slt i64 %a64, 1
62
+ ; CHECK-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: %c64leneg = icmp sle i64 %a64, -1
63
+ ; CHECK-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: %c64gtneg = icmp sgt i64 %a64, -1
56
64
; CHECK-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %a128 = and i128 undef, undef
57
65
; CHECK-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %c128 = icmp eq i128 %a128, 0
58
66
; CHECK-NEXT: Cost Model: Found costs of 1 for: %av16i8 = and <16 x i8> undef, undef
@@ -62,7 +70,7 @@ define void @andcmp() {
62
70
; CHECK-NEXT: Cost Model: Found costs of 1 for: %av4i32 = and <4 x i32> undef, undef
63
71
; CHECK-NEXT: Cost Model: Found costs of 1 for: %cv4i32 = icmp ne <4 x i32> %av4i32, zeroinitializer
64
72
; CHECK-NEXT: Cost Model: Found costs of 1 for: %c32not0 = icmp eq i32 %a32, 1
65
- ; CHECK-NEXT: Cost Model: Found costs of 1 for: %c64sle = icmp sle i64 %a64, 0
73
+ ; CHECK-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat: 1 for: %c64sle = icmp sle i64 %a64, 0
66
74
; CHECK-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void
67
75
;
68
76
%a8 = and i8 undef , undef
@@ -73,6 +81,17 @@ define void @andcmp() {
73
81
%c32 = icmp eq i32 %a32 , 0
74
82
%a64 = and i64 undef , undef
75
83
%c64 = icmp ne i64 %a64 , 0
84
+
85
+ %c32ge = icmp sge i32 %a32 , 1
86
+ %c32le = icmp slt i32 %a32 , 1
87
+ %c32leneg = icmp sle i32 %a32 , -1
88
+ %c32gtneg = icmp sgt i32 %a32 , -1
89
+
90
+ %c64ge = icmp sge i64 %a64 , 1
91
+ %c64le = icmp slt i64 %a64 , 1
92
+ %c64leneg = icmp sle i64 %a64 , -1
93
+ %c64gtneg = icmp sgt i64 %a64 , -1
94
+
76
95
%a128 = and i128 undef , undef
77
96
%c128 = icmp eq i128 %a128 , zeroinitializer
78
97
%av16i8 = and <16 x i8 > undef , undef
0 commit comments