Commit a6e7749
authored
[RISCV] Improve lowering of spread(2) shuffles (llvm#118658)
A spread(2) shuffle is just a interleave with an undef lane. The
existing lowering was reusing the even lane for the undef value. This
was entirely legal, but non-optimal.1 parent c3d1518 commit a6e7749
File tree
4 files changed
+75
-81
lines changed- llvm
- lib/Target/RISCV
- test/CodeGen/RISCV/rvv
4 files changed
+75
-81
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
5331 | 5331 | | |
5332 | 5332 | | |
5333 | 5333 | | |
| 5334 | + | |
| 5335 | + | |
| 5336 | + | |
| 5337 | + | |
| 5338 | + | |
| 5339 | + | |
| 5340 | + | |
5334 | 5341 | | |
5335 | 5342 | | |
5336 | | - | |
5337 | | - | |
5338 | | - | |
5339 | | - | |
5340 | | - | |
5341 | | - | |
5342 | | - | |
5343 | | - | |
5344 | | - | |
| 5343 | + | |
| 5344 | + | |
| 5345 | + | |
| 5346 | + | |
| 5347 | + | |
| 5348 | + | |
| 5349 | + | |
| 5350 | + | |
| 5351 | + | |
| 5352 | + | |
| 5353 | + | |
| 5354 | + | |
| 5355 | + | |
| 5356 | + | |
| 5357 | + | |
| 5358 | + | |
| 5359 | + | |
5345 | 5360 | | |
5346 | 5361 | | |
5347 | 5362 | | |
| |||
Lines changed: 15 additions & 21 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
242 | 242 | | |
243 | 243 | | |
244 | 244 | | |
245 | | - | |
246 | | - | |
247 | | - | |
248 | 245 | | |
249 | | - | |
| 246 | + | |
250 | 247 | | |
251 | | - | |
252 | | - | |
253 | | - | |
254 | | - | |
255 | | - | |
256 | | - | |
257 | | - | |
| 248 | + | |
| 249 | + | |
| 250 | + | |
258 | 251 | | |
259 | | - | |
260 | | - | |
261 | | - | |
| 252 | + | |
| 253 | + | |
| 254 | + | |
262 | 255 | | |
263 | 256 | | |
264 | | - | |
265 | | - | |
266 | | - | |
267 | | - | |
268 | | - | |
| 257 | + | |
| 258 | + | |
| 259 | + | |
| 260 | + | |
| 261 | + | |
269 | 262 | | |
270 | | - | |
271 | | - | |
| 263 | + | |
| 264 | + | |
| 265 | + | |
272 | 266 | | |
273 | 267 | | |
274 | 268 | | |
| |||
Lines changed: 29 additions & 41 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
186 | 186 | | |
187 | 187 | | |
188 | 188 | | |
189 | | - | |
190 | | - | |
191 | | - | |
192 | 189 | | |
193 | | - | |
194 | | - | |
195 | | - | |
196 | | - | |
197 | | - | |
| 190 | + | |
198 | 191 | | |
199 | | - | |
200 | | - | |
| 192 | + | |
| 193 | + | |
| 194 | + | |
| 195 | + | |
| 196 | + | |
| 197 | + | |
201 | 198 | | |
202 | 199 | | |
203 | 200 | | |
204 | 201 | | |
205 | 202 | | |
206 | | - | |
207 | | - | |
208 | | - | |
209 | 203 | | |
210 | | - | |
211 | | - | |
212 | | - | |
213 | | - | |
214 | | - | |
| 204 | + | |
215 | 205 | | |
216 | | - | |
217 | | - | |
| 206 | + | |
| 207 | + | |
| 208 | + | |
| 209 | + | |
| 210 | + | |
| 211 | + | |
218 | 212 | | |
219 | 213 | | |
220 | 214 | | |
| |||
411 | 405 | | |
412 | 406 | | |
413 | 407 | | |
414 | | - | |
415 | | - | |
416 | | - | |
417 | 408 | | |
418 | | - | |
419 | | - | |
420 | | - | |
421 | | - | |
422 | | - | |
423 | | - | |
424 | | - | |
| 409 | + | |
425 | 410 | | |
426 | | - | |
| 411 | + | |
| 412 | + | |
| 413 | + | |
427 | 414 | | |
428 | | - | |
429 | | - | |
430 | | - | |
| 415 | + | |
| 416 | + | |
| 417 | + | |
431 | 418 | | |
432 | 419 | | |
433 | | - | |
434 | | - | |
435 | | - | |
436 | | - | |
437 | | - | |
| 420 | + | |
| 421 | + | |
| 422 | + | |
| 423 | + | |
| 424 | + | |
438 | 425 | | |
439 | | - | |
440 | | - | |
| 426 | + | |
| 427 | + | |
| 428 | + | |
441 | 429 | | |
442 | 430 | | |
443 | 431 | | |
| |||
Lines changed: 7 additions & 10 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
801 | 801 | | |
802 | 802 | | |
803 | 803 | | |
804 | | - | |
805 | | - | |
806 | | - | |
807 | | - | |
808 | | - | |
| 804 | + | |
| 805 | + | |
| 806 | + | |
809 | 807 | | |
810 | 808 | | |
811 | 809 | | |
| |||
814 | 812 | | |
815 | 813 | | |
816 | 814 | | |
817 | | - | |
818 | | - | |
819 | | - | |
820 | | - | |
821 | | - | |
| 815 | + | |
| 816 | + | |
| 817 | + | |
| 818 | + | |
822 | 819 | | |
823 | 820 | | |
824 | 821 | | |
| |||
0 commit comments