@@ -11,24 +11,23 @@ define <vscale x 4 x i32> @udot(<vscale x 4 x i32> %acc, <vscale x 16 x i8> %a,
11
11
;
12
12
; CHECK-NEWLOWERING-LABEL: udot:
13
13
; 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
17
16
; CHECK-NEWLOWERING-NEXT: uunpkhi z2.h, z2.b
17
+ ; CHECK-NEWLOWERING-NEXT: uunpkhi z1.h, z1.b
18
18
; CHECK-NEWLOWERING-NEXT: ptrue p0.s
19
19
; CHECK-NEWLOWERING-NEXT: uunpklo z5.s, z3.h
20
- ; CHECK-NEWLOWERING-NEXT: uunpkhi z3.s, z3.h
21
20
; CHECK-NEWLOWERING-NEXT: uunpklo z6.s, z4.h
21
+ ; CHECK-NEWLOWERING-NEXT: uunpkhi z3.s, z3.h
22
22
; 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
32
31
; CHECK-NEWLOWERING-NEXT: add z0.s, z1.s, z0.s
33
32
; CHECK-NEWLOWERING-NEXT: ret
34
33
entry:
@@ -47,24 +46,23 @@ define <vscale x 2 x i64> @udot_wide(<vscale x 2 x i64> %acc, <vscale x 8 x i16>
47
46
;
48
47
; CHECK-NEWLOWERING-LABEL: udot_wide:
49
48
; 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
53
51
; CHECK-NEWLOWERING-NEXT: uunpkhi z2.s, z2.h
52
+ ; CHECK-NEWLOWERING-NEXT: uunpkhi z1.s, z1.h
54
53
; CHECK-NEWLOWERING-NEXT: ptrue p0.d
55
54
; CHECK-NEWLOWERING-NEXT: uunpklo z5.d, z3.s
56
- ; CHECK-NEWLOWERING-NEXT: uunpkhi z3.d, z3.s
57
55
; CHECK-NEWLOWERING-NEXT: uunpklo z6.d, z4.s
56
+ ; CHECK-NEWLOWERING-NEXT: uunpkhi z3.d, z3.s
58
57
; 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
68
66
; CHECK-NEWLOWERING-NEXT: add z0.d, z1.d, z0.d
69
67
; CHECK-NEWLOWERING-NEXT: ret
70
68
entry:
@@ -83,24 +81,23 @@ define <vscale x 4 x i32> @sdot(<vscale x 4 x i32> %accc, <vscale x 16 x i8> %a,
83
81
;
84
82
; CHECK-NEWLOWERING-LABEL: sdot:
85
83
; 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
89
86
; CHECK-NEWLOWERING-NEXT: sunpkhi z2.h, z2.b
87
+ ; CHECK-NEWLOWERING-NEXT: sunpkhi z1.h, z1.b
90
88
; CHECK-NEWLOWERING-NEXT: ptrue p0.s
91
89
; CHECK-NEWLOWERING-NEXT: sunpklo z5.s, z3.h
92
- ; CHECK-NEWLOWERING-NEXT: sunpkhi z3.s, z3.h
93
90
; CHECK-NEWLOWERING-NEXT: sunpklo z6.s, z4.h
91
+ ; CHECK-NEWLOWERING-NEXT: sunpkhi z3.s, z3.h
94
92
; 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
104
101
; CHECK-NEWLOWERING-NEXT: add z0.s, z1.s, z0.s
105
102
; CHECK-NEWLOWERING-NEXT: ret
106
103
entry:
@@ -119,24 +116,23 @@ define <vscale x 2 x i64> @sdot_wide(<vscale x 2 x i64> %acc, <vscale x 8 x i16>
119
116
;
120
117
; CHECK-NEWLOWERING-LABEL: sdot_wide:
121
118
; 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
125
121
; CHECK-NEWLOWERING-NEXT: sunpkhi z2.s, z2.h
122
+ ; CHECK-NEWLOWERING-NEXT: sunpkhi z1.s, z1.h
126
123
; CHECK-NEWLOWERING-NEXT: ptrue p0.d
127
124
; CHECK-NEWLOWERING-NEXT: sunpklo z5.d, z3.s
128
- ; CHECK-NEWLOWERING-NEXT: sunpkhi z3.d, z3.s
129
125
; CHECK-NEWLOWERING-NEXT: sunpklo z6.d, z4.s
126
+ ; CHECK-NEWLOWERING-NEXT: sunpkhi z3.d, z3.s
130
127
; 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
140
136
; CHECK-NEWLOWERING-NEXT: add z0.d, z1.d, z0.d
141
137
; CHECK-NEWLOWERING-NEXT: ret
142
138
entry:
0 commit comments