aboutsummaryrefslogtreecommitdiff
path: root/target-sparc/op.c
diff options
context:
space:
mode:
authorblueswir1 <blueswir1@c046a42c-6fe2-441c-8c8c-71466251a162>2008-03-21 17:57:29 +0000
committerblueswir1 <blueswir1@c046a42c-6fe2-441c-8c8c-71466251a162>2008-03-21 17:57:29 +0000
commit72a9747b79e2facf84a61248196d8fcf17665b35 (patch)
tree56b4dd64d32b85df0230ff3f0ea9af86c5b72b73 /target-sparc/op.c
parent44e7757c2afc4087b7253d227a7cbcfa52955dad (diff)
Convert save, restore, saved, restored, and flushw to TCG
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4092 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'target-sparc/op.c')
-rw-r--r--target-sparc/op.c98
1 files changed, 0 insertions, 98 deletions
diff --git a/target-sparc/op.c b/target-sparc/op.c
index 249061794a..99b9942e00 100644
--- a/target-sparc/op.c
+++ b/target-sparc/op.c
@@ -37,109 +37,11 @@
#endif
#endif
-#ifndef TARGET_SPARC64
-/* XXX: use another pointer for %iN registers to avoid slow wrapping
- handling ? */
-void OPPROTO op_save(void)
-{
- uint32_t cwp;
- cwp = (env->cwp - 1) & (NWINDOWS - 1);
- if (env->wim & (1 << cwp)) {
- raise_exception(TT_WIN_OVF);
- }
- set_cwp(cwp);
- FORCE_RET();
-}
-
-void OPPROTO op_restore(void)
-{
- uint32_t cwp;
- cwp = (env->cwp + 1) & (NWINDOWS - 1);
- if (env->wim & (1 << cwp)) {
- raise_exception(TT_WIN_UNF);
- }
- set_cwp(cwp);
- FORCE_RET();
-}
-#else
-/* XXX: use another pointer for %iN registers to avoid slow wrapping
- handling ? */
-void OPPROTO op_save(void)
-{
- uint32_t cwp;
- cwp = (env->cwp - 1) & (NWINDOWS - 1);
- if (env->cansave == 0) {
- raise_exception(TT_SPILL | (env->otherwin != 0 ?
- (TT_WOTHER | ((env->wstate & 0x38) >> 1)):
- ((env->wstate & 0x7) << 2)));
- } else {
- if (env->cleanwin - env->canrestore == 0) {
- // XXX Clean windows without trap
- raise_exception(TT_CLRWIN);
- } else {
- env->cansave--;
- env->canrestore++;
- set_cwp(cwp);
- }
- }
- FORCE_RET();
-}
-
-void OPPROTO op_restore(void)
-{
- uint32_t cwp;
- cwp = (env->cwp + 1) & (NWINDOWS - 1);
- if (env->canrestore == 0) {
- raise_exception(TT_FILL | (env->otherwin != 0 ?
- (TT_WOTHER | ((env->wstate & 0x38) >> 1)):
- ((env->wstate & 0x7) << 2)));
- } else {
- env->cansave++;
- env->canrestore--;
- set_cwp(cwp);
- }
- FORCE_RET();
-}
-#endif
-
void OPPROTO op_jmp_label(void)
{
GOTO_LABEL_PARAM(1);
}
-#ifdef TARGET_SPARC64
-void OPPROTO op_flushw(void)
-{
- if (env->cansave != NWINDOWS - 2) {
- raise_exception(TT_SPILL | (env->otherwin != 0 ?
- (TT_WOTHER | ((env->wstate & 0x38) >> 1)):
- ((env->wstate & 0x7) << 2)));
- }
-}
-
-void OPPROTO op_saved(void)
-{
- env->cansave++;
- if (env->otherwin == 0)
- env->canrestore--;
- else
- env->otherwin--;
- FORCE_RET();
-}
-
-void OPPROTO op_restored(void)
-{
- env->canrestore++;
- if (env->cleanwin < NWINDOWS - 1)
- env->cleanwin++;
- if (env->otherwin == 0)
- env->cansave--;
- else
- env->otherwin--;
- FORCE_RET();
-}
-#endif
-
#define CHECK_ALIGN_OP(align) \
void OPPROTO op_check_align_T0_ ## align (void) \
{ \