mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-05 08:43:55 -06:00
target-ppc: optimize fabs, fnabs, fneg
fabs, fnabs and fneg are just flipping the bit sign of an FP register, this can be implemented in TCG instead of using softfloat. Signed-off-by: Aurelien Jarno <aurelien@aurel32.net> Signed-off-by: Alexander Graf <agraf@suse.de>
This commit is contained in:
parent
414f5d1448
commit
bf45a2e67c
3 changed files with 34 additions and 40 deletions
|
@ -596,37 +596,6 @@ uint64_t helper_fdiv(CPUPPCState *env, uint64_t arg1, uint64_t arg2)
|
|||
return farg1.ll;
|
||||
}
|
||||
|
||||
/* fabs */
|
||||
uint64_t helper_fabs(CPUPPCState *env, uint64_t arg)
|
||||
{
|
||||
CPU_DoubleU farg;
|
||||
|
||||
farg.ll = arg;
|
||||
farg.d = float64_abs(farg.d);
|
||||
return farg.ll;
|
||||
}
|
||||
|
||||
/* fnabs */
|
||||
uint64_t helper_fnabs(CPUPPCState *env, uint64_t arg)
|
||||
{
|
||||
CPU_DoubleU farg;
|
||||
|
||||
farg.ll = arg;
|
||||
farg.d = float64_abs(farg.d);
|
||||
farg.d = float64_chs(farg.d);
|
||||
return farg.ll;
|
||||
}
|
||||
|
||||
/* fneg */
|
||||
uint64_t helper_fneg(CPUPPCState *env, uint64_t arg)
|
||||
{
|
||||
CPU_DoubleU farg;
|
||||
|
||||
farg.ll = arg;
|
||||
farg.d = float64_chs(farg.d);
|
||||
return farg.ll;
|
||||
}
|
||||
|
||||
/* fctiw - fctiw. */
|
||||
uint64_t helper_fctiw(CPUPPCState *env, uint64_t arg)
|
||||
{
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue