@@ -232,14 +232,11 @@ entry:
232232 ret i64 %res
233233}
234234
235- ; TODO: Handle vector cases?
236235define <4 x i16 > @select_v4i16_eq0_abs_t (<4 x i16 > %a ) {
237236; CHECK-LABEL: @select_v4i16_eq0_abs_t(
238237; CHECK-NEXT: entry:
239- ; CHECK-NEXT: [[COND:%.*]] = icmp eq <4 x i16> [[A:%.*]], zeroinitializer
240- ; CHECK-NEXT: [[ABS:%.*]] = tail call <4 x i16> @llvm.abs.v4i16(<4 x i16> [[A]], i1 true)
241- ; CHECK-NEXT: [[RES:%.*]] = select <4 x i1> [[COND]], <4 x i16> zeroinitializer, <4 x i16> [[ABS]]
242- ; CHECK-NEXT: ret <4 x i16> [[RES]]
238+ ; CHECK-NEXT: [[ABS:%.*]] = tail call <4 x i16> @llvm.abs.v4i16(<4 x i16> [[A:%.*]], i1 true)
239+ ; CHECK-NEXT: ret <4 x i16> [[ABS]]
243240;
244241entry:
245242 %cond = icmp eq <4 x i16 > %a , <i16 0 , i16 0 , i16 0 , i16 0 >
@@ -251,10 +248,8 @@ entry:
251248define <4 x i16 > @select_v4i16_ne0_abs_t (<4 x i16 > %a ) {
252249; CHECK-LABEL: @select_v4i16_ne0_abs_t(
253250; CHECK-NEXT: entry:
254- ; CHECK-NEXT: [[COND:%.*]] = icmp ne <4 x i16> [[A:%.*]], zeroinitializer
255- ; CHECK-NEXT: [[ABS:%.*]] = tail call <4 x i16> @llvm.abs.v4i16(<4 x i16> [[A]], i1 true)
256- ; CHECK-NEXT: [[RES:%.*]] = select <4 x i1> [[COND]], <4 x i16> [[ABS]], <4 x i16> zeroinitializer
257- ; CHECK-NEXT: ret <4 x i16> [[RES]]
251+ ; CHECK-NEXT: [[ABS:%.*]] = tail call <4 x i16> @llvm.abs.v4i16(<4 x i16> [[A:%.*]], i1 true)
252+ ; CHECK-NEXT: ret <4 x i16> [[ABS]]
258253;
259254entry:
260255 %cond = icmp ne <4 x i16 > %a , <i16 0 , i16 0 , i16 0 , i16 0 >
@@ -305,10 +300,8 @@ entry:
305300define <4 x i16 > @badsplat1_select_v4i16_ne0_abs (<4 x i16 > %a ) {
306301; CHECK-LABEL: @badsplat1_select_v4i16_ne0_abs(
307302; CHECK-NEXT: entry:
308- ; CHECK-NEXT: [[COND:%.*]] = icmp ne <4 x i16> [[A:%.*]], <i16 0, i16 1, i16 0, i16 0>
309- ; CHECK-NEXT: [[ABS:%.*]] = tail call <4 x i16> @llvm.abs.v4i16(<4 x i16> [[A]], i1 true)
310- ; CHECK-NEXT: [[RES:%.*]] = select <4 x i1> [[COND]], <4 x i16> [[ABS]], <4 x i16> <i16 0, i16 1, i16 0, i16 0>
311- ; CHECK-NEXT: ret <4 x i16> [[RES]]
303+ ; CHECK-NEXT: [[ABS:%.*]] = tail call <4 x i16> @llvm.abs.v4i16(<4 x i16> [[A:%.*]], i1 true)
304+ ; CHECK-NEXT: ret <4 x i16> [[ABS]]
312305;
313306entry:
314307 %cond = icmp ne <4 x i16 > %a , <i16 0 , i16 1 , i16 0 , i16 0 >
0 commit comments