Illegalize rbp/r13 for zero-offset loads on Intel x64 (#225)
* Switch RegClass to a bitmap implementation. * Add special RegClass to remove r13 from 'ld' recipe. * Use MASK_LEN constant instead of magic number. * Enforce that RegClass slicing is only valid on contiguous classes. * Use Optional[int] for RegClass optional bitmask parameter. * Add comment explaining use of Intel ISA's GPR_NORIP register class.
This commit is contained in:
committed by
Jakob Stoklund Olesen
parent
1e2b7de141
commit
eb85aa833c
@@ -47,6 +47,9 @@ FlagRegs = RegBank(
|
||||
|
||||
GPR = RegClass(IntRegs)
|
||||
GPR8 = GPR[0:8]
|
||||
# In certain instructions, RBP and R13 are interpreted as RIP-relative.
|
||||
GPR_NORIP = GPR.without(GPR.rbp, GPR.r13)
|
||||
GPR8_NORIP = GPR8.without(GPR.rbp)
|
||||
ABCD = GPR[0:4]
|
||||
FPR = RegClass(FloatRegs)
|
||||
FPR8 = FPR[0:8]
|
||||
|
||||
Reference in New Issue
Block a user