Move %rsp to %rbp, not the reverse.
This also takes away %rsp and %rbp from regalloc again. This may cause tests to fail temporarily.
This commit is contained in:
committed by
Jakob Stoklund Olesen
parent
e0c8ab49e1
commit
b049916d35
@@ -140,8 +140,8 @@ pub fn allocatable_registers(
|
|||||||
flags: &shared_settings::Flags,
|
flags: &shared_settings::Flags,
|
||||||
) -> AllocatableSet {
|
) -> AllocatableSet {
|
||||||
let mut regs = AllocatableSet::new();
|
let mut regs = AllocatableSet::new();
|
||||||
//regs.take(GPR, RU::rsp as RegUnit);
|
regs.take(GPR, RU::rsp as RegUnit);
|
||||||
//regs.take(GPR, RU::rbp as RegUnit);
|
regs.take(GPR, RU::rbp as RegUnit);
|
||||||
|
|
||||||
// 32-bit arch only has 8 registers.
|
// 32-bit arch only has 8 registers.
|
||||||
if !flags.is_64bit() {
|
if !flags.is_64bit() {
|
||||||
|
|||||||
@@ -159,8 +159,8 @@ impl TargetIsa for Isa {
|
|||||||
let mut pos = EncCursor::new(func, self).at_first_insertion_point(entry_ebb);
|
let mut pos = EncCursor::new(func, self).at_first_insertion_point(entry_ebb);
|
||||||
pos.ins().x86_push(fp);
|
pos.ins().x86_push(fp);
|
||||||
pos.ins().copy_special(
|
pos.ins().copy_special(
|
||||||
RU::rbp as RegUnit,
|
|
||||||
RU::rsp as RegUnit,
|
RU::rsp as RegUnit,
|
||||||
|
RU::rbp as RegUnit,
|
||||||
);
|
);
|
||||||
if local_stack_size > 0 {
|
if local_stack_size > 0 {
|
||||||
pos.ins().adjust_sp_imm(-(local_stack_size as i32));
|
pos.ins().adjust_sp_imm(-(local_stack_size as i32));
|
||||||
|
|||||||
Reference in New Issue
Block a user