blob: 81d44c8b14a95c7024139df7f35c082380fa69d5 [file] [log] [blame]
%def op_rem_float_2addr():
/* rem_float/2addr vA, vB */
movzx rINSTbl, %ecx # ecx <- A+
sarl $$4, rINST # rINST <- B
flds VREG_ADDRESS(rINST) # vB to fp stack
andb $$0xf, %cl # ecx <- A
flds VREG_ADDRESS(%ecx) # vA to fp stack
1:
fprem
fstsw %ax
sahf
jp 1b
fstp %st(1)
fstps VREG_ADDRESS(%ecx) # %st to vA
CLEAR_REF %ecx
ADVANCE_PC_FETCH_AND_GOTO_NEXT 1