Bill Buzbee | 3b0b4b9 | 2016-02-02 13:45:36 +0000 | [diff] [blame] | 1 | %default {} |
| 2 | /*: |
| 3 | * Generic 32-bit floating-point operation. |
| 4 | * |
| 5 | * For: add-float, sub-float, mul-float, div-float |
| 6 | * form: <op> s0, s0, s1 |
| 7 | */ |
| 8 | /* floatop vAA, vBB, vCC */ |
| 9 | FETCH w0, 1 // r0<- CCBB |
| 10 | lsr w1, w0, #8 // r2<- CC |
| 11 | and w0, w0, #255 // r1<- BB |
| 12 | GET_VREG s1, w1 |
| 13 | GET_VREG s0, w0 |
| 14 | $instr // s0<- op |
| 15 | lsr w1, wINST, #8 // r1<- AA |
| 16 | FETCH_ADVANCE_INST 2 // advance rPC, load rINST |
| 17 | GET_INST_OPCODE ip // extract opcode from rINST |
| 18 | SET_VREG s0, w1 |
| 19 | GOTO_OPCODE ip // jump to next instruction |