Lines Matching refs:rsp

1950             const bool need_SIB = (m.base&7) == rsp
1951 || m.index != rsp;
1955 this->byte(mod_rm(mod(m.disp), x&7, (need_SIB ? rsp : m.base)&7));
2178 // Passing rsp as the rm argument to mod_rm() signals an SIB byte follows;
2180 // This means we have to use an SIB byte if we want to use rsp as a base register.
2182 const bool need_SIB = m.base == rsp
2183 || m.index != rsp;
2189 this->byte(mod_rm(mod(m.disp), dst&7, (need_SIB ? rsp : m.base)&7));
2291 this->byte(mod_rm(Mod::Indirect, dst&7, rsp/*use SIB*/));
3261 // Load caller-saved r10 from rsp+40 if there's a fourth arg.
3263 a->mov(A::r10, A::Mem{A::rsp, 40});
3265 // Load callee-saved rdi from rsp+48 if there's a fifth arg,
3266 // first saving it to ABI reserved shadow area rsp+8.
3268 a->mov(A::Mem{A::rsp, 8}, A::rdi);
3269 a->mov(A::rdi, A::Mem{A::rsp, 48});
3271 // Load callee-saved rsi from rsp+56 if there's a sixth arg,
3272 // first saving it to ABI reserved shadow area rsp+16.
3274 a->mov(A::Mem{A::rsp, 16}, A::rsi);
3275 a->mov(A::rsi, A::Mem{A::rsp, 56});
3285 if (stack_needed) { a->sub(A::rsp, stack_needed); }
3290 a->vmovups(A::Mem{A::rsp, next_saved_xmm}, (A::Xmm)r);
3304 a->vmovups((A::Xmm)r, A::Mem{A::rsp, stack_used});
3308 if (stack_used) { a->add(A::rsp, stack_used); }
3312 a->mov(A::rdi, A::Mem{A::rsp, 8});
3315 a->mov(A::rsi, A::Mem{A::rsp, 16});
3334 // Load caller-saved r10 from rsp+8 if there's a sixth arg.
3336 a->mov(A::r10, A::Mem{A::rsp, 8});
3338 if (nstack_slots) { a->sub(A::rsp, nstack_slots*K*4); }
3341 if (nstack_slots) { a->add(A::rsp, nstack_slots*K*4); }
3356 a->vmovups(r, A::Mem{A::rsp, stack_slot[v]*K*4});
3362 a->vmovups(A::Mem{A::rsp, stack_slot[v]*K*4}, r);
3591 return A::Mem{A::rsp, stack_slot[v]*K*4};