blob: 0196e27e36fb9be499f5a238f64ed2d64c277589 [file] [log] [blame]
Douglas Leung200f0402016-02-25 20:05:47 -08001%default {"load":"LOAD64_F(fa0, fa0f, a3)"}
2 /*
Alexey Frunze84603bf2016-10-21 19:54:43 -07003 * Generic 64bit-to-32bit floating-point unary operation. Provide an "instr"
4 * line that specifies an instruction that performs "fv0 = op fa0".
Douglas Leung200f0402016-02-25 20:05:47 -08005 *
Alexey Frunze84603bf2016-10-21 19:54:43 -07006 * For: double-to-float
Douglas Leung200f0402016-02-25 20:05:47 -08007 */
8 /* unop vA, vB */
9 GET_OPB(a3) # a3 <- B
Alexey Frunze84603bf2016-10-21 19:54:43 -070010 GET_OPA4(rOBJ) # rOBJ <- A+
Douglas Leung200f0402016-02-25 20:05:47 -080011 EAS2(a3, rFP, a3) # a3 <- &fp[B]
12 $load
13 FETCH_ADVANCE_INST(1) # advance rPC, load rINST
14 $instr
Douglas Leung200f0402016-02-25 20:05:47 -080015 GET_INST_OPCODE(t0) # extract opcode from rINST
Alexey Frunze84603bf2016-10-21 19:54:43 -070016 SET_VREG_F_GOTO(fv0, rOBJ, t0) # vA <- fv0