Commit 2d53eaf
authored
[AArch64][GlobalISel] Fix legalization for <4 x i1> vector stores.
This case is different from the earlier <8 x i1> case handled because it triggers
a legalization failure in lowerStore() that's intended for scalar code.
It also was triggering incorrect bitcast actions in the AArch64 rules that weren't
expecting truncating stores.
With these two fixed, more cases are handled. The code is still bad, including
some missing load promotion in our combiners that result in dead stores hanging
around at the end of codegen. Again, we can fix these in separate changes.
Reviewers: davemgreen, madhur13490, topperc, arsenm
Reviewed By: davemgreen
Pull Request: llvm/llvm-project#1211851 parent 6b0807f commit 2d53eaf
File tree
3 files changed
+435
-158
lines changed- llvm
- lib
- CodeGen/GlobalISel
- Target/AArch64/GISel
- test/CodeGen/AArch64
3 files changed
+435
-158
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4118 | 4118 | | |
4119 | 4119 | | |
4120 | 4120 | | |
4121 | | - | |
4122 | | - | |
4123 | | - | |
4124 | | - | |
| 4121 | + | |
4125 | 4122 | | |
4126 | 4123 | | |
4127 | 4124 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
467 | 467 | | |
468 | 468 | | |
469 | 469 | | |
470 | | - | |
| 470 | + | |
| 471 | + | |
| 472 | + | |
| 473 | + | |
| 474 | + | |
471 | 475 | | |
472 | 476 | | |
473 | 477 | | |
| |||
0 commit comments