x86/x64: Change ipairs_aux to match JIT backend behavior.
Thanks to Sergey Kaplun. #1463
This commit is contained in:
parent
5b2e51db2c
commit
64b1f10835
@ -1411,17 +1411,15 @@ static void build_subroutines(BuildCtx *ctx)
|
|||||||
| checkint RA, ->fff_fallback
|
| checkint RA, ->fff_fallback
|
||||||
|.else
|
|.else
|
||||||
| checknumtp [BASE+8], ->fff_fallback
|
| checknumtp [BASE+8], ->fff_fallback
|
||||||
| movsd xmm0, qword [BASE+8]
|
| cvttsd2si RAd, qword [BASE+8]
|
||||||
|.endif
|
|.endif
|
||||||
| mov PC, [BASE-8]
|
| mov PC, [BASE-8]
|
||||||
|.if DUALNUM
|
|
||||||
| add RAd, 1
|
| add RAd, 1
|
||||||
|
|.if DUALNUM
|
||||||
| setint ITYPE, RA
|
| setint ITYPE, RA
|
||||||
| mov [BASE-16], ITYPE
|
| mov [BASE-16], ITYPE
|
||||||
|.else
|
|.else
|
||||||
| sseconst_1 xmm1, TMPR
|
| cvtsi2sd xmm0, RAd
|
||||||
| addsd xmm0, xmm1
|
|
||||||
| cvttsd2si RAd, xmm0
|
|
||||||
| movsd qword [BASE-16], xmm0
|
| movsd qword [BASE-16], xmm0
|
||||||
|.endif
|
|.endif
|
||||||
| cmp RAd, TAB:RB->asize; jae >2 // Not in array part?
|
| cmp RAd, TAB:RB->asize; jae >2 // Not in array part?
|
||||||
|
|||||||
@ -1730,10 +1730,9 @@ static void build_subroutines(BuildCtx *ctx)
|
|||||||
| mov dword [BASE-4], LJ_TISNUM
|
| mov dword [BASE-4], LJ_TISNUM
|
||||||
| mov dword [BASE-8], RD
|
| mov dword [BASE-8], RD
|
||||||
|.else
|
|.else
|
||||||
| movsd xmm0, qword [BASE+8]
|
| cvttsd2si RD, qword [BASE+8]
|
||||||
| sseconst_1 xmm1, RBa
|
| add RD, 1
|
||||||
| addsd xmm0, xmm1
|
| cvtsi2sd xmm0, RD
|
||||||
| cvttsd2si RD, xmm0
|
|
||||||
| movsd qword [BASE-8], xmm0
|
| movsd qword [BASE-8], xmm0
|
||||||
|.endif
|
|.endif
|
||||||
| mov TAB:RB, [BASE]
|
| mov TAB:RB, [BASE]
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user