@@ -17,31 +17,31 @@ define <16 x i32> @concat_zext_v8i16_v16i32(<8 x i16> %a0, <8 x i16> %a1) {
17
17
ret <16 x i32 > %r
18
18
}
19
19
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>
24
24
; 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>
25
25
; CHECK-NEXT: ret <16 x i32> [[R]]
26
26
;
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 >
29
29
%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 >
30
30
ret <16 x i32 > %r
31
31
}
32
32
33
33
; 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]]
40
40
;
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
45
45
}
46
46
47
47
define <16 x i32 > @concat_sext_v8i16_v16i32 (<8 x i16 > %a0 , <8 x i16 > %a1 ) {
0 commit comments