blob: 6c1468ccfa08def159b1fff3b2b12ef8803057b9 [file] [log] [blame]
Douglas Leung200f0402016-02-25 20:05:47 -08001 /*
2 * Generic 32-bit binary float operation.
3 *
4 * For: add-fp, sub-fp, mul-fp, div-fp, rem-fp
5 */
6
7 /* binop vAA, vBB, vCC */
8 FETCH(a0, 1) # a0 <- CCBB
Alexey Frunze84603bf2016-10-21 19:54:43 -07009 GET_OPA(rOBJ) # rOBJ <- AA
Douglas Leung200f0402016-02-25 20:05:47 -080010 srl a3, a0, 8 # a3 <- CC
11 and a2, a0, 255 # a2 <- BB
12 GET_VREG_F(fa1, a3) # a1 <- vCC
13 GET_VREG_F(fa0, a2) # a0 <- vBB
14
15 FETCH_ADVANCE_INST(2) # advance rPC, load rINST
16 $instr # f0 = result
Douglas Leung200f0402016-02-25 20:05:47 -080017 GET_INST_OPCODE(t0) # extract opcode from rINST
Alexey Frunze84603bf2016-10-21 19:54:43 -070018 SET_VREG_F_GOTO(fv0, rOBJ, t0) # vAA <- fv0