mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-02 23:33:54 -06:00
target-alpha: Implement fp branch/cmov inline.
The old fcmov implementation had a typo: - tcg_gen_mov_i64(cpu_fir[rc], cpu_fir[ra]); which moved the condition, not the second source, to the destination. But it's also easy to implement the simplified fp comparison inline. Signed-off-by: Richard Henderson <rth@twiddle.net> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
This commit is contained in:
parent
fe57ca82b0
commit
dbb30fe6ef
3 changed files with 112 additions and 127 deletions
|
@ -884,37 +884,6 @@ uint64_t helper_cmpglt(uint64_t a, uint64_t b)
|
|||
return 0;
|
||||
}
|
||||
|
||||
uint64_t helper_cmpfeq (uint64_t a)
|
||||
{
|
||||
return !(a & 0x7FFFFFFFFFFFFFFFULL);
|
||||
}
|
||||
|
||||
uint64_t helper_cmpfne (uint64_t a)
|
||||
{
|
||||
return (a & 0x7FFFFFFFFFFFFFFFULL);
|
||||
}
|
||||
|
||||
uint64_t helper_cmpflt (uint64_t a)
|
||||
{
|
||||
return (a & 0x8000000000000000ULL) && (a & 0x7FFFFFFFFFFFFFFFULL);
|
||||
}
|
||||
|
||||
uint64_t helper_cmpfle (uint64_t a)
|
||||
{
|
||||
return (a & 0x8000000000000000ULL) || !(a & 0x7FFFFFFFFFFFFFFFULL);
|
||||
}
|
||||
|
||||
uint64_t helper_cmpfgt (uint64_t a)
|
||||
{
|
||||
return !(a & 0x8000000000000000ULL) && (a & 0x7FFFFFFFFFFFFFFFULL);
|
||||
}
|
||||
|
||||
uint64_t helper_cmpfge (uint64_t a)
|
||||
{
|
||||
return !(a & 0x8000000000000000ULL) || !(a & 0x7FFFFFFFFFFFFFFFULL);
|
||||
}
|
||||
|
||||
|
||||
/* Floating point format conversion */
|
||||
uint64_t helper_cvtts (uint64_t a)
|
||||
{
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue