Skip to content

Commit e143a8a

Browse files
committed
extract-cmp-binop: simplify added tests
1 parent 1e8b375 commit e143a8a

File tree

1 file changed

+11
-14
lines changed

1 file changed

+11
-14
lines changed

llvm/test/Transforms/VectorCombine/X86/extract-cmp-binop.ll

Lines changed: 11 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -92,60 +92,57 @@ define i1 @icmp_add_v8i32(<8 x i32> %a) {
9292
ret i1 %r
9393
}
9494

95-
declare void @use.i1(i1)
96-
declare void @use.i32(i32)
97-
declare void @use.double(double)
98-
95+
declare void @use()
9996

10097
define i1 @fcmp_and_v2f64_multiuse(<2 x double> %a) {
10198
; SSE-LABEL: @fcmp_and_v2f64_multiuse(
10299
; SSE-NEXT: [[E1:%.*]] = extractelement <2 x double> [[A:%.*]], i32 0
103-
; SSE-NEXT: call void @use.double(double [[E1]])
100+
; SSE-NEXT: call void @use(double [[E1]])
104101
; SSE-NEXT: [[E2:%.*]] = extractelement <2 x double> [[A]], i32 1
105102
; SSE-NEXT: [[CMP1:%.*]] = fcmp olt double [[E1]], 4.200000e+01
106103
; SSE-NEXT: [[CMP2:%.*]] = fcmp olt double [[E2]], -8.000000e+00
107104
; SSE-NEXT: [[R:%.*]] = and i1 [[CMP1]], [[CMP2]]
108-
; SSE-NEXT: call void @use.i1(i1 [[R]])
105+
; SSE-NEXT: call void @use(i1 [[R]])
109106
; SSE-NEXT: ret i1 [[R]]
110107
;
111108
; AVX-LABEL: @fcmp_and_v2f64_multiuse(
112109
; AVX-NEXT: [[E1:%.*]] = extractelement <2 x double> [[A:%.*]], i32 0
113-
; AVX-NEXT: call void @use.double(double [[E1]])
110+
; AVX-NEXT: call void @use(double [[E1]])
114111
; AVX-NEXT: [[TMP1:%.*]] = fcmp olt <2 x double> [[A]], <double 4.200000e+01, double -8.000000e+00>
115112
; AVX-NEXT: [[SHIFT:%.*]] = shufflevector <2 x i1> [[TMP1]], <2 x i1> poison, <2 x i32> <i32 1, i32 poison>
116113
; AVX-NEXT: [[TMP2:%.*]] = and <2 x i1> [[TMP1]], [[SHIFT]]
117114
; AVX-NEXT: [[R:%.*]] = extractelement <2 x i1> [[TMP2]], i64 0
118-
; AVX-NEXT: call void @use.i1(i1 [[R]])
115+
; AVX-NEXT: call void @use(i1 [[R]])
119116
; AVX-NEXT: ret i1 [[R]]
120117
;
121118
%e1 = extractelement <2 x double> %a, i32 0
122-
call void @use.double(double %e1)
119+
call void @use(double %e1)
123120
%e2 = extractelement <2 x double> %a, i32 1
124121
%cmp1 = fcmp olt double %e1, 42.0
125122
%cmp2 = fcmp olt double %e2, -8.0
126123
%r = and i1 %cmp1, %cmp2
127-
call void @use.i1(i1 %r)
124+
call void @use(i1 %r)
128125
ret i1 %r
129126
}
130127

131128
define i1 @icmp_xor_v4i32_multiuse(<4 x i32> %a) {
132129
; CHECK-LABEL: @icmp_xor_v4i32_multiuse(
133130
; CHECK-NEXT: [[E2:%.*]] = extractelement <4 x i32> [[A:%.*]], i32 1
134-
; CHECK-NEXT: call void @use.i32(i32 [[E2]])
131+
; CHECK-NEXT: call void @use(i32 [[E2]])
135132
; CHECK-NEXT: [[TMP1:%.*]] = icmp sgt <4 x i32> [[A]], <i32 poison, i32 -8, i32 poison, i32 42>
136133
; CHECK-NEXT: [[SHIFT:%.*]] = shufflevector <4 x i1> [[TMP1]], <4 x i1> poison, <4 x i32> <i32 poison, i32 3, i32 poison, i32 poison>
137134
; CHECK-NEXT: [[TMP2:%.*]] = xor <4 x i1> [[TMP1]], [[SHIFT]]
138135
; CHECK-NEXT: [[R:%.*]] = extractelement <4 x i1> [[TMP2]], i64 1
139-
; CHECK-NEXT: call void @use.i1(i1 [[R]])
136+
; CHECK-NEXT: call void @use(i1 [[R]])
140137
; CHECK-NEXT: ret i1 [[R]]
141138
;
142139
%e1 = extractelement <4 x i32> %a, i32 3
143140
%e2 = extractelement <4 x i32> %a, i32 1
144-
call void @use.i32(i32 %e2)
141+
call void @use(i32 %e2)
145142
%cmp1 = icmp sgt i32 %e1, 42
146143
%cmp2 = icmp sgt i32 %e2, -8
147144
%r = xor i1 %cmp1, %cmp2
148-
call void @use.i1(i1 %r)
145+
call void @use(i1 %r)
149146
ret i1 %r
150147
}
151148

0 commit comments

Comments
 (0)