diff options
author | blueswir1 <blueswir1@c046a42c-6fe2-441c-8c8c-71466251a162> | 2008-02-24 14:10:06 +0000 |
---|---|---|
committer | blueswir1 <blueswir1@c046a42c-6fe2-441c-8c8c-71466251a162> | 2008-02-24 14:10:06 +0000 |
commit | 1a2fb1c0093c9ac1bceec8b5cbe550c478f2e7b3 (patch) | |
tree | 0681ab72863fcfbe4a32db5224335c36a969c259 /target-sparc/op_mem.h | |
parent | f8422f52fd633bb33e83e686e29c158bde4a3623 (diff) |
Modify Sparc32/64 to use TCG
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3989 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'target-sparc/op_mem.h')
-rw-r--r-- | target-sparc/op_mem.h | 73 |
1 files changed, 0 insertions, 73 deletions
diff --git a/target-sparc/op_mem.h b/target-sparc/op_mem.h index 894fc36660..9e1a9c25f3 100644 --- a/target-sparc/op_mem.h +++ b/target-sparc/op_mem.h @@ -4,65 +4,6 @@ #define ADDR(x) (x) #endif -/*** Integer load ***/ -#define SPARC_LD_OP(name, qp) \ -void OPPROTO glue(glue(op_, name), MEMSUFFIX)(void) \ -{ \ - T1 = (target_ulong)glue(qp, MEMSUFFIX)(ADDR(T0)); \ -} - -#define SPARC_LD_OP_S(name, qp) \ - void OPPROTO glue(glue(op_, name), MEMSUFFIX)(void) \ - { \ - T1 = (target_long)glue(qp, MEMSUFFIX)(ADDR(T0)); \ - } - -#define SPARC_ST_OP(name, op) \ -void OPPROTO glue(glue(op_, name), MEMSUFFIX)(void) \ -{ \ - glue(op, MEMSUFFIX)(ADDR(T0), T1); \ -} - -SPARC_LD_OP(ld, ldl); -SPARC_LD_OP(ldub, ldub); -SPARC_LD_OP(lduh, lduw); -SPARC_LD_OP_S(ldsb, ldsb); -SPARC_LD_OP_S(ldsh, ldsw); - -/*** Integer store ***/ -SPARC_ST_OP(st, stl); -SPARC_ST_OP(stb, stb); -SPARC_ST_OP(sth, stw); - -void OPPROTO glue(op_std, MEMSUFFIX)(void) -{ - uint64_t tmp = ((uint64_t)T1 << 32) | (uint64_t)(T2 & 0xffffffff); - - glue(stq, MEMSUFFIX)(ADDR(T0), tmp); -} - -void OPPROTO glue(op_ldstub, MEMSUFFIX)(void) -{ - T1 = glue(ldub, MEMSUFFIX)(ADDR(T0)); - glue(stb, MEMSUFFIX)(ADDR(T0), 0xff); /* XXX: Should be Atomically */ -} - -void OPPROTO glue(op_swap, MEMSUFFIX)(void) -{ - target_ulong tmp = glue(ldl, MEMSUFFIX)(ADDR(T0)); - glue(stl, MEMSUFFIX)(ADDR(T0), T1); /* XXX: Should be Atomically */ - T1 = tmp; -} - -void OPPROTO glue(op_ldd, MEMSUFFIX)(void) -{ - uint64_t tmp; - - tmp = glue(ldq, MEMSUFFIX)(ADDR(T0)); - T1 = tmp >> 32; - T0 = tmp & 0xffffffff; -} - /*** Floating-point store ***/ void OPPROTO glue(op_stf, MEMSUFFIX) (void) { @@ -107,18 +48,4 @@ void OPPROTO glue(op_stqf, MEMSUFFIX) (void) } #endif -#ifdef TARGET_SPARC64 -void OPPROTO glue(op_lduw, MEMSUFFIX)(void) -{ - T1 = (uint64_t)(glue(ldl, MEMSUFFIX)(ADDR(T0)) & 0xffffffff); -} - -void OPPROTO glue(op_ldsw, MEMSUFFIX)(void) -{ - T1 = (int64_t)(glue(ldl, MEMSUFFIX)(ADDR(T0)) & 0xffffffff); -} - -SPARC_LD_OP(ldx, ldq); -SPARC_ST_OP(stx, stq); -#endif #undef MEMSUFFIX |