@@ -200,18 +200,21 @@ void asm_x86_call_ind(asm_x86_t *as, size_t fun_id, mp_uint_t n_args, int temp_r
200200#define ASM_SUB_REG_REG (as , reg_dest , reg_src ) asm_x86_sub_r32_r32((as), (reg_dest), (reg_src))
201201#define ASM_MUL_REG_REG (as , reg_dest , reg_src ) asm_x86_mul_r32_r32((as), (reg_dest), (reg_src))
202202
203- #define ASM_LOAD_REG_REG_OFFSET (as , reg_dest , reg_base , word_offset ) ASM_LOAD32_REG_REG_OFFSET((as), (reg_dest), (reg_base), (word_offset))
204- #define ASM_LOAD8_REG_REG (as , reg_dest , reg_base ) asm_x86_mov_mem8_to_r32zx((as), (reg_base), 0, (reg_dest))
205- #define ASM_LOAD16_REG_REG (as , reg_dest , reg_base ) asm_x86_mov_mem16_to_r32zx((as), (reg_base), 0, (reg_dest))
206- #define ASM_LOAD16_REG_REG_OFFSET (as , reg_dest , reg_base , uint16_offset ) asm_x86_mov_mem16_to_r32zx((as), (reg_base), 2 * (uint16_offset), (reg_dest))
207- #define ASM_LOAD32_REG_REG (as , reg_dest , reg_base ) asm_x86_mov_mem32_to_r32((as), (reg_base), 0, (reg_dest))
208- #define ASM_LOAD32_REG_REG_OFFSET (as , reg_dest , reg_base , word_offset ) asm_x86_mov_mem32_to_r32((as), (reg_base), 4 * (word_offset), (reg_dest))
209-
210- #define ASM_STORE_REG_REG_OFFSET (as , reg_src , reg_base , word_offset ) ASM_STORE32_REG_REG_OFFSET((as), (reg_src), (reg_base), (word_offset))
211- #define ASM_STORE8_REG_REG (as , reg_src , reg_base ) asm_x86_mov_r8_to_mem8((as), (reg_src), (reg_base), 0)
212- #define ASM_STORE16_REG_REG (as , reg_src , reg_base ) asm_x86_mov_r16_to_mem16((as), (reg_src), (reg_base), 0)
213- #define ASM_STORE32_REG_REG (as , reg_src , reg_base ) asm_x86_mov_r32_to_mem32((as), (reg_src), (reg_base), 0)
214- #define ASM_STORE32_REG_REG_OFFSET (as , reg_src , reg_base , word_offset ) asm_x86_mov_r32_to_mem32((as), (reg_src), (reg_base), 4 * (word_offset))
203+ #define ASM_LOAD_REG_REG_OFFSET (as , reg_dest , reg_base , dword_offset ) ASM_LOAD32_REG_REG_OFFSET((as), (reg_dest), (reg_base), (dword_offset))
204+ #define ASM_LOAD8_REG_REG (as , reg_dest , reg_base ) ASM_LOAD8_REG_REG_OFFSET((as), (reg_dest), (reg_base), 0)
205+ #define ASM_LOAD8_REG_REG_OFFSET (as , reg_dest , reg_base , byte_offset ) asm_x86_mov_mem8_to_r32zx((as), (reg_base), (byte_offset), (reg_dest))
206+ #define ASM_LOAD16_REG_REG (as , reg_dest , reg_base ) ASM_LOAD16_REG_REG_OFFSET((as), (reg_dest), (reg_base), 0)
207+ #define ASM_LOAD16_REG_REG_OFFSET (as , reg_dest , reg_base , word_offset ) asm_x86_mov_mem16_to_r32zx((as), (reg_base), 2 * (word_offset), (reg_dest))
208+ #define ASM_LOAD32_REG_REG (as , reg_dest , reg_base ) ASM_LOAD32_REG_REG_OFFSET((as), (reg_dest), (reg_base), 0)
209+ #define ASM_LOAD32_REG_REG_OFFSET (as , reg_dest , reg_base , dword_offset ) asm_x86_mov_mem32_to_r32((as), (reg_base), 4 * (dword_offset), (reg_dest))
210+
211+ #define ASM_STORE_REG_REG_OFFSET (as , reg_src , reg_base , dword_offset ) ASM_STORE32_REG_REG_OFFSET((as), (reg_src), (reg_base), (dword_offset))
212+ #define ASM_STORE8_REG_REG (as , reg_src , reg_base ) ASM_STORE8_REG_REG_OFFSET((as), (reg_src), (reg_base), 0)
213+ #define ASM_STORE8_REG_REG_OFFSET (as , reg_src , reg_base , byte_offset ) asm_x86_mov_r8_to_mem8((as), (reg_src), (reg_base), (byte_offset))
214+ #define ASM_STORE16_REG_REG (as , reg_src , reg_base ) ASM_STORE16_REG_REG_OFFSET((as), (reg_src), (reg_base), 0)
215+ #define ASM_STORE16_REG_REG_OFFSET (as , reg_src , reg_base , word_offset ) asm_x86_mov_r16_to_mem16((as), (reg_src), (reg_base), 2 * (word_offset))
216+ #define ASM_STORE32_REG_REG (as , reg_src , reg_base ) ASM_STORE32_REG_REG_OFFSET((as), (reg_src), (reg_base), 0)
217+ #define ASM_STORE32_REG_REG_OFFSET (as , reg_src , reg_base , dword_offset ) asm_x86_mov_r32_to_mem32((as), (reg_src), (reg_base), 4 * (dword_offset))
215218
216219#endif // GENERIC_ASM_API
217220
0 commit comments