mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-04 08:13:54 -06:00
target-ppc: convert trap instructions to TCG
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net> git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5788 c046a42c-6fe2-441c-8c8c-71466251a162
This commit is contained in:
parent
fe1e5c53fd
commit
cab3bee2d6
5 changed files with 32 additions and 43 deletions
|
@ -1424,25 +1424,25 @@ void do_hrfid (void)
|
|||
#endif
|
||||
#endif
|
||||
|
||||
void do_tw (int flags)
|
||||
void helper_tw (target_ulong arg1, target_ulong arg2, uint32_t flags)
|
||||
{
|
||||
if (!likely(!(((int32_t)T0 < (int32_t)T1 && (flags & 0x10)) ||
|
||||
((int32_t)T0 > (int32_t)T1 && (flags & 0x08)) ||
|
||||
((int32_t)T0 == (int32_t)T1 && (flags & 0x04)) ||
|
||||
((uint32_t)T0 < (uint32_t)T1 && (flags & 0x02)) ||
|
||||
((uint32_t)T0 > (uint32_t)T1 && (flags & 0x01))))) {
|
||||
if (!likely(!(((int32_t)arg1 < (int32_t)arg2 && (flags & 0x10)) ||
|
||||
((int32_t)arg1 > (int32_t)arg2 && (flags & 0x08)) ||
|
||||
((int32_t)arg1 == (int32_t)arg2 && (flags & 0x04)) ||
|
||||
((uint32_t)arg1 < (uint32_t)arg2 && (flags & 0x02)) ||
|
||||
((uint32_t)arg1 > (uint32_t)arg2 && (flags & 0x01))))) {
|
||||
raise_exception_err(env, POWERPC_EXCP_PROGRAM, POWERPC_EXCP_TRAP);
|
||||
}
|
||||
}
|
||||
|
||||
#if defined(TARGET_PPC64)
|
||||
void do_td (int flags)
|
||||
void helper_td (target_ulong arg1, target_ulong arg2, uint32_t flags)
|
||||
{
|
||||
if (!likely(!(((int64_t)T0 < (int64_t)T1 && (flags & 0x10)) ||
|
||||
((int64_t)T0 > (int64_t)T1 && (flags & 0x08)) ||
|
||||
((int64_t)T0 == (int64_t)T1 && (flags & 0x04)) ||
|
||||
((uint64_t)T0 < (uint64_t)T1 && (flags & 0x02)) ||
|
||||
((uint64_t)T0 > (uint64_t)T1 && (flags & 0x01)))))
|
||||
if (!likely(!(((int64_t)arg1 < (int64_t)arg2 && (flags & 0x10)) ||
|
||||
((int64_t)arg1 > (int64_t)arg2 && (flags & 0x08)) ||
|
||||
((int64_t)arg1 == (int64_t)arg2 && (flags & 0x04)) ||
|
||||
((uint64_t)arg1 < (uint64_t)arg2 && (flags & 0x02)) ||
|
||||
((uint64_t)arg1 > (uint64_t)arg2 && (flags & 0x01)))))
|
||||
raise_exception_err(env, POWERPC_EXCP_PROGRAM, POWERPC_EXCP_TRAP);
|
||||
}
|
||||
#endif
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue