@@ -11,24 +11,23 @@ define <vscale x 4 x i32> @udot(<vscale x 4 x i32> %acc, <vscale x 16 x i8> %a,
1111;
1212; CHECK-NEWLOWERING-LABEL: udot:
1313; CHECK-NEWLOWERING: // %bb.0: // %entry
14- ; CHECK-NEWLOWERING-NEXT: uunpklo z3.h, z1.b
15- ; CHECK-NEWLOWERING-NEXT: uunpklo z4.h, z2.b
16- ; CHECK-NEWLOWERING-NEXT: uunpkhi z1.h, z1.b
14+ ; CHECK-NEWLOWERING-NEXT: uunpklo z3.h, z2.b
15+ ; CHECK-NEWLOWERING-NEXT: uunpklo z4.h, z1.b
1716; CHECK-NEWLOWERING-NEXT: uunpkhi z2.h, z2.b
17+ ; CHECK-NEWLOWERING-NEXT: uunpkhi z1.h, z1.b
1818; CHECK-NEWLOWERING-NEXT: ptrue p0.s
1919; CHECK-NEWLOWERING-NEXT: uunpklo z5.s, z3.h
20- ; CHECK-NEWLOWERING-NEXT: uunpkhi z3.s, z3.h
2120; CHECK-NEWLOWERING-NEXT: uunpklo z6.s, z4.h
21+ ; CHECK-NEWLOWERING-NEXT: uunpkhi z3.s, z3.h
2222; CHECK-NEWLOWERING-NEXT: uunpkhi z4.s, z4.h
23- ; CHECK-NEWLOWERING-NEXT: uunpklo z7.s, z1.h
24- ; CHECK-NEWLOWERING-NEXT: uunpkhi z1.s, z1.h
25- ; CHECK-NEWLOWERING-NEXT: uunpklo z24.s, z2.h
26- ; CHECK-NEWLOWERING-NEXT: uunpkhi z2.s, z2.h
27- ; CHECK-NEWLOWERING-NEXT: mla z0.s, p0/m, z5.s, z6.s
28- ; CHECK-NEWLOWERING-NEXT: mul z3.s, z3.s, z4.s
29- ; CHECK-NEWLOWERING-NEXT: mla z0.s, p0/m, z1.s, z2.s
30- ; CHECK-NEWLOWERING-NEXT: movprfx z1, z3
31- ; CHECK-NEWLOWERING-NEXT: mla z1.s, p0/m, z7.s, z24.s
23+ ; CHECK-NEWLOWERING-NEXT: mla z0.s, p0/m, z6.s, z5.s
24+ ; CHECK-NEWLOWERING-NEXT: uunpkhi z5.s, z2.h
25+ ; CHECK-NEWLOWERING-NEXT: uunpkhi z6.s, z1.h
26+ ; CHECK-NEWLOWERING-NEXT: mul z3.s, z4.s, z3.s
27+ ; CHECK-NEWLOWERING-NEXT: uunpklo z2.s, z2.h
28+ ; CHECK-NEWLOWERING-NEXT: uunpklo z1.s, z1.h
29+ ; CHECK-NEWLOWERING-NEXT: mla z0.s, p0/m, z6.s, z5.s
30+ ; CHECK-NEWLOWERING-NEXT: mad z1.s, p0/m, z2.s, z3.s
3231; CHECK-NEWLOWERING-NEXT: add z0.s, z1.s, z0.s
3332; CHECK-NEWLOWERING-NEXT: ret
3433entry:
@@ -47,24 +46,23 @@ define <vscale x 2 x i64> @udot_wide(<vscale x 2 x i64> %acc, <vscale x 8 x i16>
4746;
4847; CHECK-NEWLOWERING-LABEL: udot_wide:
4948; CHECK-NEWLOWERING: // %bb.0: // %entry
50- ; CHECK-NEWLOWERING-NEXT: uunpklo z3.s, z1.h
51- ; CHECK-NEWLOWERING-NEXT: uunpklo z4.s, z2.h
52- ; CHECK-NEWLOWERING-NEXT: uunpkhi z1.s, z1.h
49+ ; CHECK-NEWLOWERING-NEXT: uunpklo z3.s, z2.h
50+ ; CHECK-NEWLOWERING-NEXT: uunpklo z4.s, z1.h
5351; CHECK-NEWLOWERING-NEXT: uunpkhi z2.s, z2.h
52+ ; CHECK-NEWLOWERING-NEXT: uunpkhi z1.s, z1.h
5453; CHECK-NEWLOWERING-NEXT: ptrue p0.d
5554; CHECK-NEWLOWERING-NEXT: uunpklo z5.d, z3.s
56- ; CHECK-NEWLOWERING-NEXT: uunpkhi z3.d, z3.s
5755; CHECK-NEWLOWERING-NEXT: uunpklo z6.d, z4.s
56+ ; CHECK-NEWLOWERING-NEXT: uunpkhi z3.d, z3.s
5857; CHECK-NEWLOWERING-NEXT: uunpkhi z4.d, z4.s
59- ; CHECK-NEWLOWERING-NEXT: uunpklo z7.d, z1.s
60- ; CHECK-NEWLOWERING-NEXT: uunpkhi z1.d, z1.s
61- ; CHECK-NEWLOWERING-NEXT: uunpklo z24.d, z2.s
62- ; CHECK-NEWLOWERING-NEXT: uunpkhi z2.d, z2.s
63- ; CHECK-NEWLOWERING-NEXT: mla z0.d, p0/m, z5.d, z6.d
64- ; CHECK-NEWLOWERING-NEXT: mul z3.d, z3.d, z4.d
65- ; CHECK-NEWLOWERING-NEXT: mla z0.d, p0/m, z1.d, z2.d
66- ; CHECK-NEWLOWERING-NEXT: movprfx z1, z3
67- ; CHECK-NEWLOWERING-NEXT: mla z1.d, p0/m, z7.d, z24.d
58+ ; CHECK-NEWLOWERING-NEXT: mla z0.d, p0/m, z6.d, z5.d
59+ ; CHECK-NEWLOWERING-NEXT: uunpkhi z5.d, z2.s
60+ ; CHECK-NEWLOWERING-NEXT: uunpkhi z6.d, z1.s
61+ ; CHECK-NEWLOWERING-NEXT: mul z3.d, z4.d, z3.d
62+ ; CHECK-NEWLOWERING-NEXT: uunpklo z2.d, z2.s
63+ ; CHECK-NEWLOWERING-NEXT: uunpklo z1.d, z1.s
64+ ; CHECK-NEWLOWERING-NEXT: mla z0.d, p0/m, z6.d, z5.d
65+ ; CHECK-NEWLOWERING-NEXT: mad z1.d, p0/m, z2.d, z3.d
6866; CHECK-NEWLOWERING-NEXT: add z0.d, z1.d, z0.d
6967; CHECK-NEWLOWERING-NEXT: ret
7068entry:
@@ -83,24 +81,23 @@ define <vscale x 4 x i32> @sdot(<vscale x 4 x i32> %accc, <vscale x 16 x i8> %a,
8381;
8482; CHECK-NEWLOWERING-LABEL: sdot:
8583; CHECK-NEWLOWERING: // %bb.0: // %entry
86- ; CHECK-NEWLOWERING-NEXT: sunpklo z3.h, z1.b
87- ; CHECK-NEWLOWERING-NEXT: sunpklo z4.h, z2.b
88- ; CHECK-NEWLOWERING-NEXT: sunpkhi z1.h, z1.b
84+ ; CHECK-NEWLOWERING-NEXT: sunpklo z3.h, z2.b
85+ ; CHECK-NEWLOWERING-NEXT: sunpklo z4.h, z1.b
8986; CHECK-NEWLOWERING-NEXT: sunpkhi z2.h, z2.b
87+ ; CHECK-NEWLOWERING-NEXT: sunpkhi z1.h, z1.b
9088; CHECK-NEWLOWERING-NEXT: ptrue p0.s
9189; CHECK-NEWLOWERING-NEXT: sunpklo z5.s, z3.h
92- ; CHECK-NEWLOWERING-NEXT: sunpkhi z3.s, z3.h
9390; CHECK-NEWLOWERING-NEXT: sunpklo z6.s, z4.h
91+ ; CHECK-NEWLOWERING-NEXT: sunpkhi z3.s, z3.h
9492; CHECK-NEWLOWERING-NEXT: sunpkhi z4.s, z4.h
95- ; CHECK-NEWLOWERING-NEXT: sunpklo z7.s, z1.h
96- ; CHECK-NEWLOWERING-NEXT: sunpkhi z1.s, z1.h
97- ; CHECK-NEWLOWERING-NEXT: sunpklo z24.s, z2.h
98- ; CHECK-NEWLOWERING-NEXT: sunpkhi z2.s, z2.h
99- ; CHECK-NEWLOWERING-NEXT: mla z0.s, p0/m, z5.s, z6.s
100- ; CHECK-NEWLOWERING-NEXT: mul z3.s, z3.s, z4.s
101- ; CHECK-NEWLOWERING-NEXT: mla z0.s, p0/m, z1.s, z2.s
102- ; CHECK-NEWLOWERING-NEXT: movprfx z1, z3
103- ; CHECK-NEWLOWERING-NEXT: mla z1.s, p0/m, z7.s, z24.s
93+ ; CHECK-NEWLOWERING-NEXT: mla z0.s, p0/m, z6.s, z5.s
94+ ; CHECK-NEWLOWERING-NEXT: sunpkhi z5.s, z2.h
95+ ; CHECK-NEWLOWERING-NEXT: sunpkhi z6.s, z1.h
96+ ; CHECK-NEWLOWERING-NEXT: mul z3.s, z4.s, z3.s
97+ ; CHECK-NEWLOWERING-NEXT: sunpklo z2.s, z2.h
98+ ; CHECK-NEWLOWERING-NEXT: sunpklo z1.s, z1.h
99+ ; CHECK-NEWLOWERING-NEXT: mla z0.s, p0/m, z6.s, z5.s
100+ ; CHECK-NEWLOWERING-NEXT: mad z1.s, p0/m, z2.s, z3.s
104101; CHECK-NEWLOWERING-NEXT: add z0.s, z1.s, z0.s
105102; CHECK-NEWLOWERING-NEXT: ret
106103entry:
@@ -119,24 +116,23 @@ define <vscale x 2 x i64> @sdot_wide(<vscale x 2 x i64> %acc, <vscale x 8 x i16>
119116;
120117; CHECK-NEWLOWERING-LABEL: sdot_wide:
121118; CHECK-NEWLOWERING: // %bb.0: // %entry
122- ; CHECK-NEWLOWERING-NEXT: sunpklo z3.s, z1.h
123- ; CHECK-NEWLOWERING-NEXT: sunpklo z4.s, z2.h
124- ; CHECK-NEWLOWERING-NEXT: sunpkhi z1.s, z1.h
119+ ; CHECK-NEWLOWERING-NEXT: sunpklo z3.s, z2.h
120+ ; CHECK-NEWLOWERING-NEXT: sunpklo z4.s, z1.h
125121; CHECK-NEWLOWERING-NEXT: sunpkhi z2.s, z2.h
122+ ; CHECK-NEWLOWERING-NEXT: sunpkhi z1.s, z1.h
126123; CHECK-NEWLOWERING-NEXT: ptrue p0.d
127124; CHECK-NEWLOWERING-NEXT: sunpklo z5.d, z3.s
128- ; CHECK-NEWLOWERING-NEXT: sunpkhi z3.d, z3.s
129125; CHECK-NEWLOWERING-NEXT: sunpklo z6.d, z4.s
126+ ; CHECK-NEWLOWERING-NEXT: sunpkhi z3.d, z3.s
130127; CHECK-NEWLOWERING-NEXT: sunpkhi z4.d, z4.s
131- ; CHECK-NEWLOWERING-NEXT: sunpklo z7.d, z1.s
132- ; CHECK-NEWLOWERING-NEXT: sunpkhi z1.d, z1.s
133- ; CHECK-NEWLOWERING-NEXT: sunpklo z24.d, z2.s
134- ; CHECK-NEWLOWERING-NEXT: sunpkhi z2.d, z2.s
135- ; CHECK-NEWLOWERING-NEXT: mla z0.d, p0/m, z5.d, z6.d
136- ; CHECK-NEWLOWERING-NEXT: mul z3.d, z3.d, z4.d
137- ; CHECK-NEWLOWERING-NEXT: mla z0.d, p0/m, z1.d, z2.d
138- ; CHECK-NEWLOWERING-NEXT: movprfx z1, z3
139- ; CHECK-NEWLOWERING-NEXT: mla z1.d, p0/m, z7.d, z24.d
128+ ; CHECK-NEWLOWERING-NEXT: mla z0.d, p0/m, z6.d, z5.d
129+ ; CHECK-NEWLOWERING-NEXT: sunpkhi z5.d, z2.s
130+ ; CHECK-NEWLOWERING-NEXT: sunpkhi z6.d, z1.s
131+ ; CHECK-NEWLOWERING-NEXT: mul z3.d, z4.d, z3.d
132+ ; CHECK-NEWLOWERING-NEXT: sunpklo z2.d, z2.s
133+ ; CHECK-NEWLOWERING-NEXT: sunpklo z1.d, z1.s
134+ ; CHECK-NEWLOWERING-NEXT: mla z0.d, p0/m, z6.d, z5.d
135+ ; CHECK-NEWLOWERING-NEXT: mad z1.d, p0/m, z2.d, z3.d
140136; CHECK-NEWLOWERING-NEXT: add z0.d, z1.d, z0.d
141137; CHECK-NEWLOWERING-NEXT: ret
142138entry:
0 commit comments