Skip to content

Commit d53b829

Browse files
committed
[VectorCombine][X86] shuffle-of-casts.ll - adjust zext nneg tests to improve costs for testing
Improves SSE vs AVX test results for #87510
1 parent 42cbceb commit d53b829

File tree

1 file changed

+16
-16
lines changed

1 file changed

+16
-16
lines changed

llvm/test/Transforms/VectorCombine/X86/shuffle-of-casts.ll

+16-16
Original file line numberDiff line numberDiff line change
@@ -17,31 +17,31 @@ define <16 x i32> @concat_zext_v8i16_v16i32(<8 x i16> %a0, <8 x i16> %a1) {
1717
ret <16 x i32> %r
1818
}
1919

20-
define <16 x i32> @concat_zext_nneg_v8i8_v16i32(<8 x i8> %a0, <8 x i8> %a1) {
21-
; CHECK-LABEL: @concat_zext_nneg_v8i8_v16i32(
22-
; CHECK-NEXT: [[X0:%.*]] = zext nneg <8 x i8> [[A0:%.*]] to <8 x i32>
23-
; CHECK-NEXT: [[X1:%.*]] = zext nneg <8 x i8> [[A1:%.*]] to <8 x i32>
20+
define <16 x i32> @concat_zext_nneg_v8i16_v16i32(<8 x i16> %a0, <8 x i16> %a1) {
21+
; CHECK-LABEL: @concat_zext_nneg_v8i16_v16i32(
22+
; CHECK-NEXT: [[X0:%.*]] = zext nneg <8 x i16> [[A0:%.*]] to <8 x i32>
23+
; CHECK-NEXT: [[X1:%.*]] = zext nneg <8 x i16> [[A1:%.*]] to <8 x i32>
2424
; CHECK-NEXT: [[R:%.*]] = shufflevector <8 x i32> [[X0]], <8 x i32> [[X1]], <16 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15>
2525
; CHECK-NEXT: ret <16 x i32> [[R]]
2626
;
27-
%x0 = zext nneg <8 x i8> %a0 to <8 x i32>
28-
%x1 = zext nneg <8 x i8> %a1 to <8 x i32>
27+
%x0 = zext nneg <8 x i16> %a0 to <8 x i32>
28+
%x1 = zext nneg <8 x i16> %a1 to <8 x i32>
2929
%r = shufflevector <8 x i32> %x0, <8 x i32> %x1, <16 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15>
3030
ret <16 x i32> %r
3131
}
3232

3333
; TODO - sext + zext nneg -> sext
34-
define <8 x i32> @concat_sext_zext_nneg_v4i8_v8i32(<4 x i8> %a0, <4 x i8> %a1) {
35-
; CHECK-LABEL: @concat_sext_zext_nneg_v4i8_v8i32(
36-
; CHECK-NEXT: [[X0:%.*]] = sext <4 x i8> [[A0:%.*]] to <4 x i32>
37-
; CHECK-NEXT: [[X1:%.*]] = zext nneg <4 x i8> [[A1:%.*]] to <4 x i32>
38-
; CHECK-NEXT: [[R:%.*]] = shufflevector <4 x i32> [[X0]], <4 x i32> [[X1]], <8 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
39-
; CHECK-NEXT: ret <8 x i32> [[R]]
34+
define <16 x i32> @concat_sext_zext_nneg_v8i16_v8i32(<8 x i16> %a0, <8 x i16> %a1) {
35+
; CHECK-LABEL: @concat_sext_zext_nneg_v8i16_v8i32(
36+
; CHECK-NEXT: [[X0:%.*]] = sext <8 x i16> [[A0:%.*]] to <8 x i32>
37+
; CHECK-NEXT: [[X1:%.*]] = zext nneg <8 x i16> [[A1:%.*]] to <8 x i32>
38+
; CHECK-NEXT: [[R:%.*]] = shufflevector <8 x i32> [[X0]], <8 x i32> [[X1]], <16 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15>
39+
; CHECK-NEXT: ret <16 x i32> [[R]]
4040
;
41-
%x0 = sext <4 x i8> %a0 to <4 x i32>
42-
%x1 = zext nneg <4 x i8> %a1 to <4 x i32>
43-
%r = shufflevector <4 x i32> %x0, <4 x i32> %x1, <8 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
44-
ret <8 x i32> %r
41+
%x0 = sext <8 x i16> %a0 to <8 x i32>
42+
%x1 = zext nneg <8 x i16> %a1 to <8 x i32>
43+
%r = shufflevector <8 x i32> %x0, <8 x i32> %x1, <16 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15>
44+
ret <16 x i32> %r
4545
}
4646

4747
define <16 x i32> @concat_sext_v8i16_v16i32(<8 x i16> %a0, <8 x i16> %a1) {

0 commit comments

Comments
 (0)