Skip to content

Commit b9e3de0

Browse files
committed
Use "movaps" instead of "movsd" to copy the whole %xmm register.
1 parent c1f14b8 commit b9e3de0

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

ext/opcache/jit/zend_jit_x86.dasc

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -635,7 +635,7 @@ static void* dasm_labels[zend_lb_MAX];
635635
|| } else if (Z_MODE(addr) == IS_MEM_ZVAL) {
636636
| SSE_AVX_INS movsd, vmovsd, xmm(reg-ZREG_XMM0), qword [Ra(Z_REG(addr))+Z_OFFSET(addr)]
637637
|| } else if (Z_MODE(addr) == IS_REG) {
638-
| SSE_AVX_INS movsd, vmovaps, xmm(reg-ZREG_XMM0), xmm(Z_REG(addr)-ZREG_XMM0)
638+
| SSE_AVX_INS movaps, vmovaps, xmm(reg-ZREG_XMM0), xmm(Z_REG(addr)-ZREG_XMM0)
639639
|| } else {
640640
|| ZEND_UNREACHABLE();
641641
|| }
@@ -679,7 +679,7 @@ static void* dasm_labels[zend_lb_MAX];
679679
|.macro SSE_SET_ZVAL_DVAL, addr, reg
680680
|| if (Z_MODE(addr) == IS_REG) {
681681
|| if (reg != Z_REG(addr)) {
682-
| SSE_AVX_INS movsd, vmovaps, xmm(Z_REG(addr)-ZREG_XMM0), xmm(reg-ZREG_XMM0)
682+
| SSE_AVX_INS movaps, vmovaps, xmm(Z_REG(addr)-ZREG_XMM0), xmm(reg-ZREG_XMM0)
683683
|| }
684684
|| } else {
685685
|| ZEND_ASSERT(Z_MODE(addr) == IS_MEM_ZVAL);
@@ -3624,7 +3624,7 @@ static int zend_jit_update_regs(dasm_State **Dst, zend_jit_addr src, zend_jit_ad
36243624
if ((info & MAY_BE_ANY) == MAY_BE_LONG) {
36253625
| mov Ra(Z_REG(dst)), Ra(Z_REG(src))
36263626
} else if ((info & MAY_BE_ANY) == MAY_BE_DOUBLE) {
3627-
| SSE_AVX_INS movsd, vmovaps, xmm(Z_REG(dst)-ZREG_XMM0), xmm(Z_REG(src)-ZREG_XMM0)
3627+
| SSE_AVX_INS movaps, vmovaps, xmm(Z_REG(dst)-ZREG_XMM0), xmm(Z_REG(src)-ZREG_XMM0)
36283628
} else {
36293629
ZEND_UNREACHABLE();
36303630
}

0 commit comments

Comments
 (0)