diff options
Diffstat (limited to 'target-sparc/op_mem.h')
-rw-r--r-- | target-sparc/op_mem.h | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/target-sparc/op_mem.h b/target-sparc/op_mem.h index 4af00b3711..894fc36660 100644 --- a/target-sparc/op_mem.h +++ b/target-sparc/op_mem.h @@ -85,6 +85,28 @@ void OPPROTO glue(op_lddf, MEMSUFFIX) (void) DT0 = glue(ldfq, MEMSUFFIX)(ADDR(T0)); } +#if defined(CONFIG_USER_ONLY) +void OPPROTO glue(op_ldqf, MEMSUFFIX) (void) +{ + // XXX add 128 bit load + CPU_QuadU u; + + u.ll.upper = glue(ldq, MEMSUFFIX)(ADDR(T0)); + u.ll.lower = glue(ldq, MEMSUFFIX)(ADDR(T0 + 8)); + QT0 = u.q; +} + +void OPPROTO glue(op_stqf, MEMSUFFIX) (void) +{ + // XXX add 128 bit store + CPU_QuadU u; + + u.q = QT0; + glue(stq, MEMSUFFIX)(ADDR(T0), u.ll.upper); + glue(stq, MEMSUFFIX)(ADDR(T0 + 8), u.ll.lower); +} +#endif + #ifdef TARGET_SPARC64 void OPPROTO glue(op_lduw, MEMSUFFIX)(void) { |