llvm-project
61faf7d3 - [AArch64][GlobalISel] Use GPR for illegal fconstants and extend < 32 bit GPR constants to 32 bits (#178692)

Commit
1 day ago
[AArch64][GlobalISel] Use GPR for illegal fconstants and extend < 32 bit GPR constants to 32 bits (#178692) In a similar fashion to https://github.com/llvm/llvm-project/pull/175810, this PR aims to simplify the handling of constants by extending smaller than 32 bit integer constants to 32 bits in regbankselect. This is only done for constants that were going to be assigned to a GPR and aims to simplify the selection of these. In addition, fconstants that would have lead to a constant pool load because they are illegal as immediates (except for 128 bit) are now converted to a constant on GPR registers before being copied to the FPR. This hopefully reduces cache pressure & simplifies selection. I have tried to rely on tablegen as much as possible for selecting the instructions for this.
Parents
Loading