Commit ea389d4
Automerge: [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#121185File 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