1    /*
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
21