diff options
author | ths <ths@c046a42c-6fe2-441c-8c8c-71466251a162> | 2007-05-07 13:55:33 +0000 |
---|---|---|
committer | ths <ths@c046a42c-6fe2-441c-8c8c-71466251a162> | 2007-05-07 13:55:33 +0000 |
commit | 5a5012ecbdcd341bb1d2e8200db91f6212aa44df (patch) | |
tree | fd30050630993cfe86d7005645af6161a9273b68 /target-mips/op_mem.c | |
parent | 8b4af7052757965b9a03998f400955016b456431 (diff) |
MIPS 64-bit FPU support, plus some collateral bugfixes in the
conditional branch handling.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2779 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'target-mips/op_mem.c')
-rw-r--r-- | target-mips/op_mem.c | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/target-mips/op_mem.c b/target-mips/op_mem.c index 19373cf002..f0eebc09dd 100644 --- a/target-mips/op_mem.c +++ b/target-mips/op_mem.c @@ -220,3 +220,35 @@ void glue(op_sdc1, MEMSUFFIX) (void) glue(stq, MEMSUFFIX)(T0, DT0); RETURN(); } +void glue(op_lwxc1, MEMSUFFIX) (void) +{ + WT0 = glue(ldl, MEMSUFFIX)(T0 + T1); + RETURN(); +} +void glue(op_swxc1, MEMSUFFIX) (void) +{ + glue(stl, MEMSUFFIX)(T0 + T1, WT0); + RETURN(); +} +void glue(op_ldxc1, MEMSUFFIX) (void) +{ + DT0 = glue(ldq, MEMSUFFIX)(T0 + T1); + RETURN(); +} +void glue(op_sdxc1, MEMSUFFIX) (void) +{ + glue(stq, MEMSUFFIX)(T0 + T1, DT0); + RETURN(); +} +void glue(op_luxc1, MEMSUFFIX) (void) +{ + /* XXX: is defined as unaligned */ + DT0 = glue(ldq, MEMSUFFIX)(T0 + T1); + RETURN(); +} +void glue(op_suxc1, MEMSUFFIX) (void) +{ + /* XXX: is defined as unaligned */ + glue(stq, MEMSUFFIX)(T0 + T1, DT0); + RETURN(); +} |