]> granicus.if.org Git - php/commitdiff
Fixed temporary register usage
authorDmitry Stogov <dmitry@zend.com>
Wed, 29 Jul 2020 19:01:19 +0000 (22:01 +0300)
committerDmitry Stogov <dmitry@zend.com>
Wed, 29 Jul 2020 19:01:19 +0000 (22:01 +0300)
ext/opcache/jit/zend_jit_x86.dasc

index 19e56ef6b6214740eb842517e3ee46275b794662..efb0b7f682f7ac6d9d2ebb1e84ad5c3ee3b3f584 100644 (file)
@@ -4101,7 +4101,7 @@ static int zend_jit_math_double_long(dasm_State    **Dst,
 
                if (Z_MODE(res_addr) == IS_REG) {
                        result_reg = Z_REG(res_addr);
-                       tmp_reg = ZREG_XMM0;
+                       tmp_reg = (result_reg == ZREG_XMM0) ? ZREG_XMM1 : ZREG_XMM0;
                } else if (Z_MODE(op1_addr) == IS_REG && Z_LAST_USE(op1_addr)) {
                        result_reg = Z_REG(op1_addr);
                        tmp_reg = ZREG_XMM0;