luaur_code_gen/methods/
operand_x_64_operator_index.rs1use crate::enums::category_x_64::CategoryX64;
2use crate::enums::size_x_64::SizeX64;
3use crate::macros::codegen_assert::CODEGEN_ASSERT;
4use crate::records::operand_x_64::OperandX64;
5use crate::records::register_x_64::RegisterX64;
6
7impl OperandX64 {
8 pub fn operand_x_64_operator_index(&self, mut addr: OperandX64) -> OperandX64 {
9 CODEGEN_ASSERT!(self.cat == CategoryX64::mem);
10 CODEGEN_ASSERT!(
11 self.index == RegisterX64::noreg
12 && self.scale == 1
13 && self.base == RegisterX64::noreg
14 && self.imm == 0
15 );
16 CODEGEN_ASSERT!(addr.memSize == SizeX64::none);
17
18 addr.cat = CategoryX64::mem;
19 addr.memSize = self.memSize;
20 addr
21 }
22}