[PATCH] D94641: [AArch64][GlobalISel] Use wzr/xzr for FP stores of zero

Jessica Paquette via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Jan 14 09:52:13 PST 2021


paquette added a comment.

In D94641#2497021 <https://reviews.llvm.org/D94641#2497021>, @aemerson wrote:

> Why is this in lowering instead of combine?

Originally I did it in select, since it seemed like something we would want at all optimization levels.

Moving it to lowering gave slightly better code size results on bullet and pairlocalalign. (152 B and 76 B respectively)

I think that it's likely because of regbankselect. Some of the instructions in there check `onlyUsesFP` to decide on which register bank to use (G_LOAD, G_SELECT, and G_UNMERGE_VALUES). So, we can potentially avoid some extra copies by making sure that instructions like G_STORES of 0.0 don't end up being marked as FPR.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D94641/new/

https://reviews.llvm.org/D94641



More information about the llvm-commits mailing list