luaur_code_gen/functions/luau_reg.rs
1use crate::enums::size_x_64::SizeX64;
2use crate::records::operand_x_64::OperandX64;
3use crate::records::register_x_64::RegisterX64;
4
5#[inline]
6pub fn luau_reg(ri: i32) -> OperandX64 {
7 // sizeof(TValue) is 16 bytes.
8 let tvalue_size = core::mem::size_of::<luaur_vm::type_aliases::t_value::TValue>() as i32;
9
10 // xmmword corresponds to 128-bit (16-byte) access.
11 OperandX64::operand_x_64_size_x_64_register_x_64_u8_register_x_64_i32(
12 SizeX64::xmmword,
13 RegisterX64::noreg,
14 1,
15 RegisterX64::r14,
16 ri * tvalue_size,
17 )
18}