diff options
author | ths <ths@c046a42c-6fe2-441c-8c8c-71466251a162> | 2007-05-20 01:36:29 +0000 |
---|---|---|
committer | ths <ths@c046a42c-6fe2-441c-8c8c-71466251a162> | 2007-05-20 01:36:29 +0000 |
commit | 93b12ccc62debf438f0881898e6be0eeb51e1bdd (patch) | |
tree | e8b26686d267fbe918c60f90614ac2bab8102cdb /target-mips/op_mem.c | |
parent | cfc05abe4c4640a3a83c36a6874815a1514d31e7 (diff) | |
download | hqemu-93b12ccc62debf438f0881898e6be0eeb51e1bdd.zip hqemu-93b12ccc62debf438f0881898e6be0eeb51e1bdd.tar.gz |
Fix indexed FP load/store instructions.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2837 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'target-mips/op_mem.c')
-rw-r--r-- | target-mips/op_mem.c | 26 |
1 files changed, 2 insertions, 24 deletions
diff --git a/target-mips/op_mem.c b/target-mips/op_mem.c index f0eebc0..f9fc69c 100644 --- a/target-mips/op_mem.c +++ b/target-mips/op_mem.c @@ -220,35 +220,13 @@ 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); + DT0 = glue(ldq, MEMSUFFIX)(T0 & ~0x7); RETURN(); } void glue(op_suxc1, MEMSUFFIX) (void) { - /* XXX: is defined as unaligned */ - glue(stq, MEMSUFFIX)(T0 + T1, DT0); + glue(stq, MEMSUFFIX)(T0 & ~0x7, DT0); RETURN(); } |