From f44ff445164f5b46a797de31c43023cd0994fb25 Mon Sep 17 00:00:00 2001 From: Dmitry Stogov Date: Thu, 20 May 2021 14:43:49 +0300 Subject: [PATCH] JIT/AArch64: Fixed incorrect MEM_LOAD usage --- ext/opcache/jit/zend_jit_arm64.dasc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ext/opcache/jit/zend_jit_arm64.dasc b/ext/opcache/jit/zend_jit_arm64.dasc index c65b5905fc3..1e10f90d533 100644 --- a/ext/opcache/jit/zend_jit_arm64.dasc +++ b/ext/opcache/jit/zend_jit_arm64.dasc @@ -617,7 +617,8 @@ static int logical_immediate_p (uint64_t value, uint32_t reg_size) // The computation result is stored back to memory 'addr'. 'op' can be either imm12 or register. // For constant case, it should be guaranteed that 'op' can be represented by imm12 before using this macro. |.macro MEM_LOAD_OP_STORE, mem_ins, ldr_ins, str_ins, op, addr, tmp_reg1, tmp_reg2 -| MEM_LOAD ldr_ins, tmp_reg1, addr, tmp_reg2 +| LOAD_ADDR tmp_reg2, addr +| ldr_ins, tmp_reg1, [tmp_reg2] | mem_ins tmp_reg1, tmp_reg1, op | str_ins tmp_reg1, [tmp_reg2] |.endmacro