@@ -106,95 +106,55 @@ define {<vscale x 8 x i64>, <vscale x 8 x i64>} @vector_deinterleave_load_nxv8i6
106
106
; CHECK-NEXT: addi sp, sp, -16
107
107
; CHECK-NEXT: .cfi_def_cfa_offset 16
108
108
; CHECK-NEXT: csrr a1, vlenb
109
- ; CHECK-NEXT: li a2, 40
109
+ ; CHECK-NEXT: li a2, 24
110
110
; CHECK-NEXT: mul a1, a1, a2
111
111
; CHECK-NEXT: sub sp, sp, a1
112
- ; CHECK-NEXT: .cfi_escape 0x0f, 0x0d, 0x72, 0x00, 0x11, 0x10, 0x22, 0x11, 0x28 , 0x92, 0xa2, 0x38, 0x00, 0x1e, 0x22 # sp + 16 + 40 * vlenb
112
+ ; CHECK-NEXT: .cfi_escape 0x0f, 0x0d, 0x72, 0x00, 0x11, 0x10, 0x22, 0x11, 0x18 , 0x92, 0xa2, 0x38, 0x00, 0x1e, 0x22 # sp + 16 + 24 * vlenb
113
113
; CHECK-NEXT: csrr a1, vlenb
114
114
; CHECK-NEXT: vl8re64.v v16, (a0)
115
115
; CHECK-NEXT: vsetvli a2, zero, e64, m8, ta, ma
116
116
; CHECK-NEXT: vid.v v8
117
117
; CHECK-NEXT: slli a1, a1, 3
118
- ; CHECK-NEXT: vadd.vv v24, v8, v8
119
- ; CHECK-NEXT: csrr a2, vlenb
120
- ; CHECK-NEXT: slli a2, a2, 4
121
- ; CHECK-NEXT: add a2, sp, a2
122
- ; CHECK-NEXT: addi a2, a2, 16
123
- ; CHECK-NEXT: vs8r.v v24, (a2) # Unknown-size Folded Spill
118
+ ; CHECK-NEXT: vand.vi v8, v8, 1
124
119
; CHECK-NEXT: add a0, a0, a1
120
+ ; CHECK-NEXT: vmseq.vi v24, v8, 0
125
121
; CHECK-NEXT: vl8re64.v v8, (a0)
126
122
; CHECK-NEXT: csrr a0, vlenb
127
- ; CHECK-NEXT: slli a0, a0, 5
128
- ; CHECK-NEXT: add a0, sp, a0
129
- ; CHECK-NEXT: addi a0, a0, 16
130
- ; CHECK-NEXT: vs8r.v v8, (a0) # Unknown-size Folded Spill
131
- ; CHECK-NEXT: vadd.vi v8, v24, 1
132
- ; CHECK-NEXT: csrr a0, vlenb
133
- ; CHECK-NEXT: li a1, 24
134
- ; CHECK-NEXT: mul a0, a0, a1
123
+ ; CHECK-NEXT: slli a0, a0, 4
135
124
; CHECK-NEXT: add a0, sp, a0
136
125
; CHECK-NEXT: addi a0, a0, 16
137
126
; CHECK-NEXT: vs8r.v v8, (a0) # Unknown-size Folded Spill
138
- ; CHECK-NEXT: vrgather.vv v8, v16, v24
139
- ; CHECK-NEXT: csrr a0, vlenb
140
- ; CHECK-NEXT: li a1, 24
141
- ; CHECK-NEXT: mul a0, a0, a1
142
- ; CHECK-NEXT: add a0, sp, a0
143
- ; CHECK-NEXT: addi a0, a0, 16
144
- ; CHECK-NEXT: vl8r.v v0, (a0) # Unknown-size Folded Reload
145
- ; CHECK-NEXT: vrgather.vv v24, v16, v0
146
- ; CHECK-NEXT: csrr a0, vlenb
147
- ; CHECK-NEXT: slli a0, a0, 3
148
- ; CHECK-NEXT: add a0, sp, a0
149
- ; CHECK-NEXT: addi a0, a0, 16
150
- ; CHECK-NEXT: vs8r.v v24, (a0) # Unknown-size Folded Spill
151
- ; CHECK-NEXT: csrr a0, vlenb
152
- ; CHECK-NEXT: slli a0, a0, 5
153
- ; CHECK-NEXT: add a0, sp, a0
154
- ; CHECK-NEXT: addi a0, a0, 16
155
- ; CHECK-NEXT: vl8r.v v16, (a0) # Unknown-size Folded Reload
127
+ ; CHECK-NEXT: vmnot.m v6, v24
128
+ ; CHECK-NEXT: vcompress.vm v8, v16, v24
129
+ ; CHECK-NEXT: vmv1r.v v13, v24
130
+ ; CHECK-NEXT: vcompress.vm v24, v16, v6
131
+ ; CHECK-NEXT: vmv1r.v v12, v6
156
132
; CHECK-NEXT: csrr a0, vlenb
157
133
; CHECK-NEXT: slli a0, a0, 4
158
134
; CHECK-NEXT: add a0, sp, a0
159
135
; CHECK-NEXT: addi a0, a0, 16
160
- ; CHECK-NEXT: vl8r.v v0 , (a0) # Unknown-size Folded Reload
161
- ; CHECK-NEXT: vrgather.vv v24 , v16, v0
136
+ ; CHECK-NEXT: vl8r.v v16 , (a0) # Unknown-size Folded Reload
137
+ ; CHECK-NEXT: vcompress.vm v0 , v16, v13
162
138
; CHECK-NEXT: addi a0, sp, 16
163
- ; CHECK-NEXT: vs8r.v v24, (a0) # Unknown-size Folded Spill
164
- ; CHECK-NEXT: csrr a0, vlenb
165
- ; CHECK-NEXT: li a1, 24
166
- ; CHECK-NEXT: mul a0, a0, a1
167
- ; CHECK-NEXT: add a0, sp, a0
168
- ; CHECK-NEXT: addi a0, a0, 16
169
- ; CHECK-NEXT: vl8r.v v0, (a0) # Unknown-size Folded Reload
170
- ; CHECK-NEXT: csrr a0, vlenb
171
- ; CHECK-NEXT: slli a0, a0, 5
172
- ; CHECK-NEXT: add a0, sp, a0
173
- ; CHECK-NEXT: addi a0, a0, 16
174
- ; CHECK-NEXT: vl8r.v v24, (a0) # Unknown-size Folded Reload
175
- ; CHECK-NEXT: vrgather.vv v16, v24, v0
139
+ ; CHECK-NEXT: vs8r.v v0, (a0) # Unknown-size Folded Spill
140
+ ; CHECK-NEXT: vcompress.vm v0, v16, v12
176
141
; CHECK-NEXT: csrr a0, vlenb
177
- ; CHECK-NEXT: slli a0, a0, 4
142
+ ; CHECK-NEXT: slli a0, a0, 3
178
143
; CHECK-NEXT: add a0, sp, a0
179
144
; CHECK-NEXT: addi a0, a0, 16
180
- ; CHECK-NEXT: vs8r.v v16 , (a0) # Unknown-size Folded Spill
145
+ ; CHECK-NEXT: vs8r.v v0 , (a0) # Unknown-size Folded Spill
181
146
; CHECK-NEXT: addi a0, sp, 16
182
147
; CHECK-NEXT: vl8r.v v16, (a0) # Unknown-size Folded Reload
183
148
; CHECK-NEXT: vmv4r.v v12, v16
184
149
; CHECK-NEXT: csrr a0, vlenb
185
- ; CHECK-NEXT: slli a0, a0, 4
186
- ; CHECK-NEXT: add a0, sp, a0
187
- ; CHECK-NEXT: addi a0, a0, 16
188
- ; CHECK-NEXT: vl8r.v v16, (a0) # Unknown-size Folded Reload
189
- ; CHECK-NEXT: csrr a0, vlenb
190
150
; CHECK-NEXT: slli a0, a0, 3
191
151
; CHECK-NEXT: add a0, sp, a0
192
152
; CHECK-NEXT: addi a0, a0, 16
193
- ; CHECK-NEXT: vl8r.v v24 , (a0) # Unknown-size Folded Reload
153
+ ; CHECK-NEXT: vl8r.v v16 , (a0) # Unknown-size Folded Reload
194
154
; CHECK-NEXT: vmv4r.v v28, v16
195
155
; CHECK-NEXT: vmv8r.v v16, v24
196
156
; CHECK-NEXT: csrr a0, vlenb
197
- ; CHECK-NEXT: li a1, 40
157
+ ; CHECK-NEXT: li a1, 24
198
158
; CHECK-NEXT: mul a0, a0, a1
199
159
; CHECK-NEXT: add sp, sp, a0
200
160
; CHECK-NEXT: .cfi_def_cfa sp, 16
0 commit comments