@@ -602,8 +602,10 @@ static void* dasm_labels[zend_lb_MAX];
602
602
| mov r0, lval
603
603
|.endif
604
604
|| if (JIT_G(opt_flags) & allowed_opt_flags & ZEND_JIT_CPU_AVX) {
605
+ | vxorps xmm(reg-ZREG_XMM0), xmm(reg-ZREG_XMM0), xmm(reg-ZREG_XMM0)
605
606
| vcvtsi2sd, xmm(reg-ZREG_XMM0), xmm(reg-ZREG_XMM0), r0
606
607
|| } else {
608
+ | xorps xmm(reg-ZREG_XMM0), xmm(reg-ZREG_XMM0)
607
609
| cvtsi2sd, xmm(reg-ZREG_XMM0), r0
608
610
|| }
609
611
|| }
@@ -614,14 +616,18 @@ static void* dasm_labels[zend_lb_MAX];
614
616
| SSE_GET_LONG reg, Z_LVAL_P(Z_ZV(addr))
615
617
|| } else if (Z_MODE(addr) == IS_MEM_ZVAL) {
616
618
|| if (JIT_G(opt_flags) & allowed_opt_flags & ZEND_JIT_CPU_AVX) {
619
+ | vxorps xmm(reg-ZREG_XMM0), xmm(reg-ZREG_XMM0), xmm(reg-ZREG_XMM0)
617
620
| vcvtsi2sd xmm(reg-ZREG_XMM0), xmm(reg-ZREG_XMM0), aword [Ra(Z_REG(addr))+Z_OFFSET(addr)]
618
621
|| } else {
622
+ | xorps xmm(reg-ZREG_XMM0), xmm(reg-ZREG_XMM0)
619
623
| cvtsi2sd xmm(reg-ZREG_XMM0), aword [Ra(Z_REG(addr))+Z_OFFSET(addr)]
620
624
|| }
621
625
|| } else if (Z_MODE(addr) == IS_REG) {
622
626
|| if (JIT_G(opt_flags) & allowed_opt_flags & ZEND_JIT_CPU_AVX) {
627
+ | vxorps xmm(reg-ZREG_XMM0), xmm(reg-ZREG_XMM0), xmm(reg-ZREG_XMM0)
623
628
| vcvtsi2sd xmm(reg-ZREG_XMM0), xmm(reg-ZREG_XMM0), Ra(Z_REG(addr))
624
629
|| } else {
630
+ | xorps xmm(reg-ZREG_XMM0), xmm(reg-ZREG_XMM0)
625
631
| cvtsi2sd xmm(reg-ZREG_XMM0), Ra(Z_REG(addr))
626
632
|| }
627
633
|| } else {
0 commit comments