1 %default {} 2 /*: 3 * Generic 64-bit "/2addr" floating-point operation. 4 * 5 * For: add-double/2addr, sub-double/2addr, mul-double/2addr, div-double/2addr. 6 * form: <op> f0, f0, f1 7 */ 8 /* binop/2addr vA, vB */ 9 ext a2, rINST, 8, 4 # a2 <- A 10 ext a3, rINST, 12, 4 # a3 <- B 11 GET_VREG_DOUBLE f0, a2 # f0 <- vA 12 GET_VREG_DOUBLE f1, a3 # f1 <- vB 13 $instr # f0 <- f0 op f1 14 FETCH_ADVANCE_INST 1 # advance rPC, load rINST 15 GET_INST_OPCODE v0 # extract opcode from rINST 16 SET_VREG_DOUBLE f0, a2 # vA <- f0 17 GOTO_OPCODE v0 # jump to next instruction 18