forked from OSchip/llvm-project
[X86] Drop the 64-bit alignment for LOW32_ADDR_ACCESS register class.
The only 64-bit register in that register class is RIP and it will not get spilled in the current ABIs. llvm-svn: 268963
This commit is contained in:
parent
0c0ada01b6
commit
3126db6fd7
|
@ -421,11 +421,12 @@ def GR64_NOREX_NOSP : RegisterClass<"X86", [i64], 64,
|
|||
// In such cases, it is fine to use RIP as we are sure the 32 high
|
||||
// bits are not set. We do not need variants for NOSP as RIP is not
|
||||
// allowed there.
|
||||
// Alignment is 64 because we have RIP.
|
||||
// RIP is not spilled anywhere for now, so stick to 32-bit alignment
|
||||
// to save on memory space.
|
||||
// FIXME: We could allow all 64bit registers, but we would need
|
||||
// something to check that the 32 high bits are not set,
|
||||
// which we do not have right now.
|
||||
def LOW32_ADDR_ACCESS : RegisterClass<"X86", [i32], 64, (add GR32, RIP)>;
|
||||
def LOW32_ADDR_ACCESS : RegisterClass<"X86", [i32], 32, (add GR32, RIP)>;
|
||||
|
||||
// When RBP is used as a base pointer in a 32-bit addresses environement,
|
||||
// this is also safe to use the full register to access addresses.
|
||||
|
|
Loading…
Reference in New Issue