blob: d277689933d231e9a0c7eccfd5a643e6d23393cb [file] [log] [blame]
/*
* File: OP_MUL_DOUBLE_2ADDR.S
*/
movzx rINSTbl,%ecx # ecx<- A+
andb $$0xf,%cl # ecx<- A
sarl $$4,rINST # rINST<- B
# TODO: movsd?
movq (rFP, rINST, 4), %xmm1 # %xmm1<- vB
movq (rFP, %ecx, 4), %xmm0 # %xmm0<- vA
FETCH_INST_OPCODE 1 %eax
mulsd %xmm1, %xmm0 # %xmm0<- vA op vB
ADVANCE_PC 1
movq %xmm0, (rFP, %ecx, 4) # vA<- %xmm0; result
GOTO_NEXT_R %eax