1    /*
2     * Generic 32-bit floating point "/2addr" binary operation.  Provide
3     * an "instr" line that specifies an instruction that performs
4     * "s2 = s0 op s1".
5     *
6     * For: add-float/2addr, sub-float/2addr, mul-float/2addr, div-float/2addr
7     */
8    /* binop/2addr vA, vB */
9    lsr     w3, wINST, #12              // w3<- B
10    lsr     w9, wINST, #8               // w9<- A+
11    and     w9, w9, #15                 // w9<- A
12    GET_VREG s1, w3
13    GET_VREG s0, w9
14    $instr                              // s2<- op
15    FETCH_ADVANCE_INST 1                // advance rPC, load rINST
16    GET_INST_OPCODE ip                  // extract opcode from rINST
17    SET_VREG s2, w9
18    GOTO_OPCODE ip                      // jump to next instruction
19