Lines Matching refs:rm

69     void BuildModerm(int32_t mode, Register rm);
170 void EmitRexPrefixW(const Register &rm)
172 EmitU8(REX_PREFIX_W | HighBit(rm));
175 void EmitRexPrefixL(const Register &rm)
177 EmitU8(REX_PREFIX_FIXED_BITS | HighBit(rm));
180 void EmitRexPrefix(const Operand &rm)
182 // 0: Extension to the MODRM.rm field B
183 EmitU8(REX_PREFIX_W | rm.rex_);
186 void EmitRexPrefix(Register reg, Register rm)
188 // 0: Extension to the MODRM.rm field B
190 EmitU8(REX_PREFIX_W | (HighBit(reg) << 2) | HighBit(rm));
193 void EmitRexPrefixl(Register reg, Register rm)
195 // 0: Extension to the MODRM.rm field B
196 if (HighBit(reg) != 0 || HighBit(rm) != 0) {
198 EmitU8(REX_PREFIX_FIXED_BITS | (HighBit(reg) << 2) | HighBit(rm));
202 void EmitRexPrefix(Register reg, Operand rm)
204 // 0: Extension to the MODRM.rm field B
206 EmitU8(REX_PREFIX_W | (HighBit(reg) << 2) | rm.rex_);
209 void EmitRexPrefixl(Register reg, Operand rm)
211 // 0: Extension to the MODRM.rm field B
212 if (HighBit(reg) != 0 || rm.rex_ != 0) {
214 EmitU8(REX_PREFIX_FIXED_BITS | (HighBit(reg) << 2) | rm.rex_);
219 // | mod | reg | rm |
221 void EmitModrm(int32_t reg, Register rm)
223 EmitU8(MODE_RM | (static_cast<uint32_t>(reg) << LOW_BITS_SIZE) | LowBits(rm));
226 void EmitModrm(Register reg, Register rm)
228 EmitModrm(LowBits(reg), rm);
231 void EmitOperand(Register reg, Operand rm)
233 EmitOperand(LowBits(reg), rm);
235 void EmitOperand(int32_t reg, Operand rm);
265 static uint8_t GetModrm(int32_t mode, Register rm)
271 return (static_cast<uint32_t>(mode) << 6) | LowBits(rm);
273 static uint8_t GetModrmRex(Register rm)
275 return HighBit(rm);