blob: 0a984d71dd9a1e5c037f10a516063069190b8aaf [file] [log] [blame]
%default {"preinstr":""}
/*
* Generic 32-bit unary operation. Provide an "instr" line that
* specifies an instruction that performs "result = op a0".
* This could be a MIPS instruction or a function call.
*
* for: int-to-float, float-to-int
*
* On entry:
* a0 = target dalvik register address
* a1 = src dalvik register address
*
* IMPORTANT: you may specify "chkzero" or "preinstr" but not both.
*
*/
move rOBJ, a0 # save a0
#ifdef SOFT_FLOAT
LOAD(a0, a1) # a0<- vBB
$preinstr # optional op
$instr # v0<- op, a0-a3 changed
.L${opcode}_set_vreg:
STORE(v0, rOBJ) # vAA<- v0
#else
LOAD_F(fa0, a1) # fa0<- vBB
$preinstr # optional op
$instr_f # fv0 = result
.L${opcode}_set_vreg_f:
STORE_F(fv0, rOBJ) # vAA <- fv0
#endif
RETURN