[llvm] [RISCV] Only convert volatile i64 load/store to Zilsd in SelectionDAG. (PR #169529)

Sam Elliott via llvm-commits llvm-commits at lists.llvm.org
Sat Mar 28 13:36:35 PDT 2026


lenary wrote:

I forgot my PR needed to look at the intermediate passes. I just uploaded changes to do so. This got a slight improvement for `st`, my other results are unchanged.

Comparing composition of st after my PR against trunk:
```
c.lw                 57         59         +2         +4b
c.unimp               3          4         +1         +2b
c.ld                  4          3         -1         -2b
c.mv                432        430         -2         -4b
```
Compared to before, I now merge an `addi` and a `c.sd` into a `sd`. This would save 2 bytes but for `c.unimp` which is padding before an overaligned function.

https://github.com/llvm/llvm-project/pull/169529


More information about the llvm-commits mailing list