[llvm] [X86] Support EGPR (R16-R31) for APX (PR #70958)
Nikita Popov via llvm-commits
llvm-commits at lists.llvm.org
Wed Nov 8 08:25:17 PST 2023
================
@@ -611,6 +615,14 @@ BitVector X86RegisterInfo::getReservedRegs(const MachineFunction &MF) const {
}
}
+ // Reserve the extended general purpose registers.
+ if (!Is64Bit || !MF.getSubtarget<X86Subtarget>().hasEGPR()) {
+ for (unsigned n = 0; n != 16; ++n) {
+ for (MCRegAliasIterator AI(X86::R16 + n, this, true); AI.isValid(); ++AI)
+ Reserved.set(*AI);
+ }
----------------
nikic wrote:
```suggestion
Reserved.set(X86::R16, X86::R31WH + 1);
```
A more efficient way to set all these registers at once.
https://github.com/llvm/llvm-project/pull/70958
More information about the llvm-commits
mailing list