• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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    ubfx    w9, wINST, #8, #4           // w9<- A
11    GET_VREG s1, w3
12    GET_VREG s0, w9
13    $instr                              // s2<- op
14    FETCH_ADVANCE_INST 1                // advance rPC, load rINST
15    GET_INST_OPCODE ip                  // extract opcode from rINST
16    SET_VREG s2, w9
17    GOTO_OPCODE ip                      // jump to next instruction
18