DUALNUM: Fix x87 code for BC_ISEQN/BC_ISNEN.

This commit is contained in:
Mike Pall 2011-03-07 20:12:39 +01:00
parent 8eb09fe820
commit a30f58b54b
4 changed files with 1253 additions and 1257 deletions

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -4055,10 +4055,9 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
| ucomisd xmm0, qword [KBASE+RD*8] | ucomisd xmm0, qword [KBASE+RD*8]
} else { } else {
| fild dword [BASE+RA*8] | fild dword [BASE+RA*8]
| fld qword [BASE+RD*8] | fld qword [KBASE+RD*8]
} }
| jmp >4 | jmp >4
|
} else { } else {
| cmp RB, LJ_TISNUM; jae >3 | cmp RB, LJ_TISNUM; jae >3
} }
@ -4073,8 +4072,8 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
| fld qword [KBASE+RD*8] | fld qword [KBASE+RD*8]
|2: |2:
| fld qword [BASE+RA*8] | fld qword [BASE+RA*8]
| fcomparepp // eax (RD) modified!
|4: |4:
| fcomparepp // eax (RD) modified!
} }
goto iseqne_fp; goto iseqne_fp;
case BC_ISEQP: case BC_ISNEP: case BC_ISEQP: case BC_ISNEP:

File diff suppressed because it is too large Load Diff