blob: 926d0783dad22421833383a35b8646cdf2774765 [file] [log] [blame]
Bill Buzbee3b0b4b92016-02-02 13:45:36 +00001%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