aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--dyngen-exec.h3
-rw-r--r--target-arm/op_helper.c5
-rw-r--r--target-cris/exec.h2
-rw-r--r--target-cris/op_helper.c1
-rw-r--r--target-i386/op_helper.c11
-rw-r--r--target-i386/ops_sse.h14
-rw-r--r--target-sh4/exec.h2
7 files changed, 0 insertions, 38 deletions
diff --git a/dyngen-exec.h b/dyngen-exec.h
index d028126973..cc2502e68e 100644
--- a/dyngen-exec.h
+++ b/dyngen-exec.h
@@ -198,9 +198,6 @@ extern int printf(const char *, ...);
#error unsupported CPU
#endif
-/* force GCC to generate only one epilog at the end of the function */
-#define FORCE_RET() __asm__ __volatile__("" : : : "memory");
-
#define xglue(x, y) x ## y
#define glue(x, y) xglue(x, y)
#define stringify(s) tostring(s)
diff --git a/target-arm/op_helper.c b/target-arm/op_helper.c
index 84a3d157d4..04828d0288 100644
--- a/target-arm/op_helper.c
+++ b/target-arm/op_helper.c
@@ -509,7 +509,6 @@ void HELPER(neon_trn_u8)(void)
rm = ((T1 & 0xff00ff00) >> 8) | (T0 & 0xff00ff00);
T0 = rd;
T1 = rm;
- FORCE_RET();
}
void HELPER(neon_trn_u16)(void)
@@ -520,7 +519,6 @@ void HELPER(neon_trn_u16)(void)
rm = (T1 >> 16) | (T0 & 0xffff0000);
T0 = rd;
T1 = rm;
- FORCE_RET();
}
/* Worker routines for zip and unzip. */
@@ -534,7 +532,6 @@ void HELPER(neon_unzip_u8)(void)
| ((T1 << 8) & 0xff0000) | (T1 & 0xff000000);
T0 = rd;
T1 = rm;
- FORCE_RET();
}
void HELPER(neon_zip_u8)(void)
@@ -547,7 +544,6 @@ void HELPER(neon_zip_u8)(void)
| ((T0 >> 8) & 0xff0000) | (T1 & 0xff000000);
T0 = rd;
T1 = rm;
- FORCE_RET();
}
void HELPER(neon_zip_u16)(void)
@@ -557,5 +553,4 @@ void HELPER(neon_zip_u16)(void)
tmp = (T0 & 0xffff) | (T1 << 16);
T1 = (T1 & 0xffff0000) | (T0 >> 16);
T0 = tmp;
- FORCE_RET();
}
diff --git a/target-cris/exec.h b/target-cris/exec.h
index ec7346acd9..e82c04a7f5 100644
--- a/target-cris/exec.h
+++ b/target-cris/exec.h
@@ -25,8 +25,6 @@ register struct CPUCRISState *env asm(AREG0);
#include "cpu.h"
#include "exec-all.h"
-#define RETURN() __asm__ __volatile__("" : : : "memory");
-
static inline void env_to_regs(void)
{
}
diff --git a/target-cris/op_helper.c b/target-cris/op_helper.c
index 49bcebc4b9..a681f84f35 100644
--- a/target-cris/op_helper.c
+++ b/target-cris/op_helper.c
@@ -189,7 +189,6 @@ void helper_movl_reg_sreg (uint32_t reg, uint32_t sreg)
}
#endif
env->regs[reg] = env->sregs[srs][sreg];
- RETURN();
}
static void cris_ccs_rshift(CPUState *env)
diff --git a/target-i386/op_helper.c b/target-i386/op_helper.c
index 6dc0802f69..d32a6a3d97 100644
--- a/target-i386/op_helper.c
+++ b/target-i386/op_helper.c
@@ -1745,7 +1745,6 @@ void helper_aaa(void)
}
EAX = (EAX & ~0xffff) | al | (ah << 8);
CC_SRC = eflags;
- FORCE_RET();
}
void helper_aas(void)
@@ -1770,7 +1769,6 @@ void helper_aas(void)
}
EAX = (EAX & ~0xffff) | al | (ah << 8);
CC_SRC = eflags;
- FORCE_RET();
}
void helper_daa(void)
@@ -1798,7 +1796,6 @@ void helper_daa(void)
eflags |= parity_table[al]; /* pf */
eflags |= (al & 0x80); /* sf */
CC_SRC = eflags;
- FORCE_RET();
}
void helper_das(void)
@@ -1829,7 +1826,6 @@ void helper_das(void)
eflags |= parity_table[al]; /* pf */
eflags |= (al & 0x80); /* sf */
CC_SRC = eflags;
- FORCE_RET();
}
void helper_into(int next_eip_addend)
@@ -3553,7 +3549,6 @@ void helper_fcom_ST0_FT0(void)
ret = floatx_compare(ST0, FT0, &env->fp_status);
env->fpus = (env->fpus & ~0x4500) | fcom_ccval[ret + 1];
- FORCE_RET();
}
void helper_fucom_ST0_FT0(void)
@@ -3562,7 +3557,6 @@ void helper_fucom_ST0_FT0(void)
ret = floatx_compare_quiet(ST0, FT0, &env->fp_status);
env->fpus = (env->fpus & ~0x4500) | fcom_ccval[ret+ 1];
- FORCE_RET();
}
static const int fcomi_ccval[4] = {CC_C, CC_Z, 0, CC_Z | CC_P | CC_C};
@@ -3576,7 +3570,6 @@ void helper_fcomi_ST0_FT0(void)
eflags = helper_cc_compute_all(CC_OP);
eflags = (eflags & ~(CC_Z | CC_P | CC_C)) | fcomi_ccval[ret + 1];
CC_SRC = eflags;
- FORCE_RET();
}
void helper_fucomi_ST0_FT0(void)
@@ -3588,7 +3581,6 @@ void helper_fucomi_ST0_FT0(void)
eflags = helper_cc_compute_all(CC_OP);
eflags = (eflags & ~(CC_Z | CC_P | CC_C)) | fcomi_ccval[ret + 1];
CC_SRC = eflags;
- FORCE_RET();
}
void helper_fadd_ST0_FT0(void)
@@ -3773,7 +3765,6 @@ void helper_fwait(void)
{
if (env->fpus & FPUS_SE)
fpu_raise_exception();
- FORCE_RET();
}
void helper_fninit(void)
@@ -4629,7 +4620,6 @@ void helper_boundw(target_ulong a0, int v)
if (v < low || v > high) {
raise_exception(EXCP05_BOUND);
}
- FORCE_RET();
}
void helper_boundl(target_ulong a0, int v)
@@ -4640,7 +4630,6 @@ void helper_boundl(target_ulong a0, int v)
if (v < low || v > high) {
raise_exception(EXCP05_BOUND);
}
- FORCE_RET();
}
static float approx_rsqrt(float a)
diff --git a/target-i386/ops_sse.h b/target-i386/ops_sse.h
index 720d97c47e..03623058b7 100644
--- a/target-i386/ops_sse.h
+++ b/target-i386/ops_sse.h
@@ -58,7 +58,6 @@ void glue(helper_psrlw, SUFFIX)(Reg *d, Reg *s)
d->W(7) >>= shift;
#endif
}
- FORCE_RET();
}
void glue(helper_psraw, SUFFIX)(Reg *d, Reg *s)
@@ -104,7 +103,6 @@ void glue(helper_psllw, SUFFIX)(Reg *d, Reg *s)
d->W(7) <<= shift;
#endif
}
- FORCE_RET();
}
void glue(helper_psrld, SUFFIX)(Reg *d, Reg *s)
@@ -125,7 +123,6 @@ void glue(helper_psrld, SUFFIX)(Reg *d, Reg *s)
d->L(3) >>= shift;
#endif
}
- FORCE_RET();
}
void glue(helper_psrad, SUFFIX)(Reg *d, Reg *s)
@@ -163,7 +160,6 @@ void glue(helper_pslld, SUFFIX)(Reg *d, Reg *s)
d->L(3) <<= shift;
#endif
}
- FORCE_RET();
}
void glue(helper_psrlq, SUFFIX)(Reg *d, Reg *s)
@@ -182,7 +178,6 @@ void glue(helper_psrlq, SUFFIX)(Reg *d, Reg *s)
d->Q(1) >>= shift;
#endif
}
- FORCE_RET();
}
void glue(helper_psllq, SUFFIX)(Reg *d, Reg *s)
@@ -201,7 +196,6 @@ void glue(helper_psllq, SUFFIX)(Reg *d, Reg *s)
d->Q(1) <<= shift;
#endif
}
- FORCE_RET();
}
#if SHIFT == 1
@@ -216,7 +210,6 @@ void glue(helper_psrldq, SUFFIX)(Reg *d, Reg *s)
d->B(i) = d->B(i + shift);
for(i = 16 - shift; i < 16; i++)
d->B(i) = 0;
- FORCE_RET();
}
void glue(helper_pslldq, SUFFIX)(Reg *d, Reg *s)
@@ -230,7 +223,6 @@ void glue(helper_pslldq, SUFFIX)(Reg *d, Reg *s)
d->B(i) = d->B(i - shift);
for(i = 0; i < shift; i++)
d->B(i) = 0;
- FORCE_RET();
}
#endif
@@ -432,7 +424,6 @@ void glue(helper_pmaddwd, SUFFIX) (Reg *d, Reg *s)
d->L(i) = (int16_t)s->W(2*i) * (int16_t)d->W(2*i) +
(int16_t)s->W(2*i+1) * (int16_t)d->W(2*i+1);
}
- FORCE_RET();
}
#if SHIFT == 0
@@ -479,7 +470,6 @@ void glue(helper_maskmov, SUFFIX) (Reg *d, Reg *s, target_ulong a0)
if (s->B(i) & 0x80)
stb(a0 + i, d->B(i));
}
- FORCE_RET();
}
void glue(helper_movl_mm_T0, SUFFIX) (Reg *d, uint32_t val)
@@ -917,7 +907,6 @@ void helper_ucomiss(Reg *d, Reg *s)
s1 = s->XMM_S(0);
ret = float32_compare_quiet(s0, s1, &env->sse_status);
CC_SRC = comis_eflags[ret + 1];
- FORCE_RET();
}
void helper_comiss(Reg *d, Reg *s)
@@ -929,7 +918,6 @@ void helper_comiss(Reg *d, Reg *s)
s1 = s->XMM_S(0);
ret = float32_compare(s0, s1, &env->sse_status);
CC_SRC = comis_eflags[ret + 1];
- FORCE_RET();
}
void helper_ucomisd(Reg *d, Reg *s)
@@ -941,7 +929,6 @@ void helper_ucomisd(Reg *d, Reg *s)
d1 = s->XMM_D(0);
ret = float64_compare_quiet(d0, d1, &env->sse_status);
CC_SRC = comis_eflags[ret + 1];
- FORCE_RET();
}
void helper_comisd(Reg *d, Reg *s)
@@ -953,7 +940,6 @@ void helper_comisd(Reg *d, Reg *s)
d1 = s->XMM_D(0);
ret = float64_compare(d0, d1, &env->sse_status);
CC_SRC = comis_eflags[ret + 1];
- FORCE_RET();
}
uint32_t helper_movmskps(Reg *s)
diff --git a/target-sh4/exec.h b/target-sh4/exec.h
index 6122610844..1c51167e49 100644
--- a/target-sh4/exec.h
+++ b/target-sh4/exec.h
@@ -43,8 +43,6 @@ static inline int cpu_halted(CPUState *env) {
#include "softmmu_exec.h"
#endif
-#define RETURN() __asm__ __volatile__("")
-
static inline void regs_to_env(void)
{
/* XXXXX */