@@ -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
4747define <16 x i32 > @concat_sext_v8i16_v16i32 (<8 x i16 > %a0 , <8 x i16 > %a1 ) {
0 commit comments