Skip to main content

luaur_code_gen/functions/
luau_reg_value_vector.rs

1use crate::enums::size_x_64::SizeX64;
2use crate::records::operand_x_64::OperandX64;
3use crate::records::register_x_64::RegisterX64;
4use luaur_vm::type_aliases::t_value::TValue;
5
6#[inline]
7pub fn luau_reg_value_vector(ri: i32, index: i32) -> OperandX64 {
8    let tvalue_size = core::mem::size_of::<TValue>() as i32;
9    let value_offset = 0;
10    let float_size = core::mem::size_of::<f32>() as i32;
11
12    OperandX64::operand_x_64_size_x_64_register_x_64_u8_register_x_64_i32(
13        SizeX64::dword,
14        RegisterX64::noreg,
15        1,
16        RegisterX64::r14,
17        ri * tvalue_size + value_offset + (float_size * index),
18    )
19}