blob: 153f58210adea0c4038a97cc83c2a70296abea4e [file] [log] [blame]
Alexey Frunze84603bf2016-10-21 19:54:43 -07001 /*
2 * long-to-double
3 */
4 /* unop vA, vB */
5 GET_OPA4(rOBJ) # rOBJ <- A+
6 GET_OPB(a3) # a3 <- B
7 EAS2(a3, rFP, a3) # a3 <- &fp[B]
8
9#ifdef MIPS32REVGE6
10 LOAD64_F(fv0, fv0f, a3)
11 FETCH_ADVANCE_INST(1) # advance rPC, load rINST
12 cvt.d.l fv0, fv0
13#else
14 LOAD64(rARG0, rARG1, a3)
15 FETCH_ADVANCE_INST(1) # advance rPC, load rINST
16 JAL(__floatdidf) # a0/a1 <- op, a2-a3 changed
17#endif
18
19 GET_INST_OPCODE(t0) # extract opcode from rINST
20 SET_VREG64_F_GOTO(fv0, fv0f, rOBJ, t0) # vA/vA+1 <- result