Home | History | Annotate | Download | only in x86_64

Lines Matching refs:spill

47     x86_64::X86_64ManagedRegister spill = spill_regs[i].AsX86_64();
48 if (spill.IsCpuRegister()) {
49 __ pushq(spill.AsCpuRegister());
52 cfi().RelOffset(DWARFReg(spill.AsCpuRegister().AsRegister()), 0);
62 // spill xmms
65 x86_64::X86_64ManagedRegister spill = spill_regs[i].AsX86_64();
66 if (spill.IsXmmRegister()) {
68 __ movsd(Address(CpuRegister(RSP), offset), spill.AsXmmRegister());
69 cfi().RelOffset(DWARFReg(spill.AsXmmRegister().AsFloatRegister()), offset);
78 for (const ManagedRegisterSpill& spill : entry_spills) {
79 if (spill.AsX86_64().IsCpuRegister()) {
80 if (spill.getSize() == 8) {
81 __ movq(Address(CpuRegister(RSP), frame_size + spill.getSpillOffset()),
82 spill.AsX86_64().AsCpuRegister());
84 CHECK_EQ(spill.getSize(), 4);
85 __ movl(Address(CpuRegister(RSP), frame_size + spill.getSpillOffset()),
86 spill.AsX86_64().AsCpuRegister());
89 if (spill.getSize() == 8) {
90 __ movsd(Address(CpuRegister(RSP), frame_size + spill.getSpillOffset()),
91 spill.AsX86_64().AsXmmRegister());
93 CHECK_EQ(spill.getSize(), 4);
94 __ movss(Address(CpuRegister(RSP), frame_size + spill.getSpillOffset()),
95 spill.AsX86_64().AsXmmRegister());
112 x86_64::X86_64ManagedRegister spill = spill_regs[i].AsX86_64();
113 if (spill.IsXmmRegister()) {
115 __ movsd(spill.AsXmmRegister(), Address(CpuRegister(RSP), offset));
116 cfi().Restore(DWARFReg(spill.AsXmmRegister().AsFloatRegister()));
125 x86_64::X86_64ManagedRegister spill = spill_regs[i].AsX86_64();
126 if (spill.IsCpuRegister()) {
127 __ popq(spill.AsCpuRegister());
129 cfi().Restore(DWARFReg(spill.AsCpuRegister().AsRegister()));