@@ -10,14 +10,7 @@ define <8 x i16> @test_extadd_pairwise_i8x16_s(<16 x i8> %v) {
1010; CHECK: .functype test_extadd_pairwise_i8x16_s (v128) -> (v128)
1111; CHECK-NEXT: # %bb.0:
1212; CHECK-NEXT: local.get 0
13- ; CHECK-NEXT: local.get 0
14- ; CHECK-NEXT: i8x16.shuffle 0, 2, 4, 6, 8, 10, 12, 14, 0, 0, 0, 0, 0, 0, 0, 0
15- ; CHECK-NEXT: i16x8.extend_low_i8x16_s
16- ; CHECK-NEXT: local.get 0
17- ; CHECK-NEXT: local.get 0
18- ; CHECK-NEXT: i8x16.shuffle 1, 3, 5, 7, 9, 11, 13, 15, 0, 0, 0, 0, 0, 0, 0, 0
19- ; CHECK-NEXT: i16x8.extend_low_i8x16_s
20- ; CHECK-NEXT: i16x8.add
13+ ; CHECK-NEXT: i16x8.extadd_pairwise_i8x16_s
2114; CHECK-NEXT: # fallthrough-return
2215 %even = shufflevector <16 x i8 > %v , <16 x i8 > poison, <8 x i32 > <i32 0 , i32 2 , i32 4 , i32 6 , i32 8 , i32 10 , i32 12 , i32 14 >
2316 %odd = shufflevector <16 x i8 > %v , <16 x i8 > poison, <8 x i32 > <i32 1 , i32 3 , i32 5 , i32 7 , i32 9 , i32 11 , i32 13 , i32 15 >
@@ -32,14 +25,7 @@ define <8 x i16> @test_extadd_pairwise_i8x16_u(<16 x i8> %v) {
3225; CHECK: .functype test_extadd_pairwise_i8x16_u (v128) -> (v128)
3326; CHECK-NEXT: # %bb.0:
3427; CHECK-NEXT: local.get 0
35- ; CHECK-NEXT: local.get 0
36- ; CHECK-NEXT: i8x16.shuffle 0, 2, 4, 6, 8, 10, 12, 14, 0, 0, 0, 0, 0, 0, 0, 0
37- ; CHECK-NEXT: i16x8.extend_low_i8x16_u
38- ; CHECK-NEXT: local.get 0
39- ; CHECK-NEXT: local.get 0
40- ; CHECK-NEXT: i8x16.shuffle 1, 3, 5, 7, 9, 11, 13, 15, 0, 0, 0, 0, 0, 0, 0, 0
41- ; CHECK-NEXT: i16x8.extend_low_i8x16_u
42- ; CHECK-NEXT: i16x8.add
28+ ; CHECK-NEXT: i16x8.extadd_pairwise_i8x16_u
4329; CHECK-NEXT: # fallthrough-return
4430 %even = shufflevector <16 x i8 > %v , <16 x i8 > poison, <8 x i32 > <i32 0 , i32 2 , i32 4 , i32 6 , i32 8 , i32 10 , i32 12 , i32 14 >
4531 %odd = shufflevector <16 x i8 > %v , <16 x i8 > poison, <8 x i32 > <i32 1 , i32 3 , i32 5 , i32 7 , i32 9 , i32 11 , i32 13 , i32 15 >
@@ -54,14 +40,7 @@ define <4 x i32> @test_extadd_pairwise_i16x8_s(<8 x i16> %v) {
5440; CHECK: .functype test_extadd_pairwise_i16x8_s (v128) -> (v128)
5541; CHECK-NEXT: # %bb.0:
5642; CHECK-NEXT: local.get 0
57- ; CHECK-NEXT: local.get 0
58- ; CHECK-NEXT: i8x16.shuffle 0, 1, 4, 5, 8, 9, 12, 13, 0, 1, 0, 1, 0, 1, 0, 1
59- ; CHECK-NEXT: i32x4.extend_low_i16x8_s
60- ; CHECK-NEXT: local.get 0
61- ; CHECK-NEXT: local.get 0
62- ; CHECK-NEXT: i8x16.shuffle 2, 3, 6, 7, 10, 11, 14, 15, 0, 1, 0, 1, 0, 1, 0, 1
63- ; CHECK-NEXT: i32x4.extend_low_i16x8_s
64- ; CHECK-NEXT: i32x4.add
43+ ; CHECK-NEXT: i32x4.extadd_pairwise_i16x8_s
6544; CHECK-NEXT: # fallthrough-return
6645 %even = shufflevector <8 x i16 > %v , <8 x i16 > poison, <4 x i32 > <i32 0 , i32 2 , i32 4 , i32 6 >
6746 %odd = shufflevector <8 x i16 > %v , <8 x i16 > poison, <4 x i32 > <i32 1 , i32 3 , i32 5 , i32 7 >
@@ -76,14 +55,7 @@ define <4 x i32> @test_extadd_pairwise_i16x8_u(<8 x i16> %v) {
7655; CHECK: .functype test_extadd_pairwise_i16x8_u (v128) -> (v128)
7756; CHECK-NEXT: # %bb.0:
7857; CHECK-NEXT: local.get 0
79- ; CHECK-NEXT: local.get 0
80- ; CHECK-NEXT: i8x16.shuffle 0, 1, 4, 5, 8, 9, 12, 13, 0, 1, 0, 1, 0, 1, 0, 1
81- ; CHECK-NEXT: i32x4.extend_low_i16x8_u
82- ; CHECK-NEXT: local.get 0
83- ; CHECK-NEXT: local.get 0
84- ; CHECK-NEXT: i8x16.shuffle 2, 3, 6, 7, 10, 11, 14, 15, 0, 1, 0, 1, 0, 1, 0, 1
85- ; CHECK-NEXT: i32x4.extend_low_i16x8_u
86- ; CHECK-NEXT: i32x4.add
58+ ; CHECK-NEXT: i32x4.extadd_pairwise_i16x8_u
8759; CHECK-NEXT: # fallthrough-return
8860 %even = shufflevector <8 x i16 > %v , <8 x i16 > poison, <4 x i32 > <i32 0 , i32 2 , i32 4 , i32 6 >
8961 %odd = shufflevector <8 x i16 > %v , <8 x i16 > poison, <4 x i32 > <i32 1 , i32 3 , i32 5 , i32 7 >
0 commit comments