Remove FORCE_RET() and RETURN()
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net> git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5923 c046a42c-6fe2-441c-8c8c-71466251a162
This commit is contained in:
parent
49516bc0d6
commit
db8d990204
@ -198,9 +198,6 @@ extern int printf(const char *, ...);
|
|||||||
#error unsupported CPU
|
#error unsupported CPU
|
||||||
#endif
|
#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 xglue(x, y) x ## y
|
||||||
#define glue(x, y) xglue(x, y)
|
#define glue(x, y) xglue(x, y)
|
||||||
#define stringify(s) tostring(s)
|
#define stringify(s) tostring(s)
|
||||||
|
@ -509,7 +509,6 @@ void HELPER(neon_trn_u8)(void)
|
|||||||
rm = ((T1 & 0xff00ff00) >> 8) | (T0 & 0xff00ff00);
|
rm = ((T1 & 0xff00ff00) >> 8) | (T0 & 0xff00ff00);
|
||||||
T0 = rd;
|
T0 = rd;
|
||||||
T1 = rm;
|
T1 = rm;
|
||||||
FORCE_RET();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void HELPER(neon_trn_u16)(void)
|
void HELPER(neon_trn_u16)(void)
|
||||||
@ -520,7 +519,6 @@ void HELPER(neon_trn_u16)(void)
|
|||||||
rm = (T1 >> 16) | (T0 & 0xffff0000);
|
rm = (T1 >> 16) | (T0 & 0xffff0000);
|
||||||
T0 = rd;
|
T0 = rd;
|
||||||
T1 = rm;
|
T1 = rm;
|
||||||
FORCE_RET();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Worker routines for zip and unzip. */
|
/* Worker routines for zip and unzip. */
|
||||||
@ -534,7 +532,6 @@ void HELPER(neon_unzip_u8)(void)
|
|||||||
| ((T1 << 8) & 0xff0000) | (T1 & 0xff000000);
|
| ((T1 << 8) & 0xff0000) | (T1 & 0xff000000);
|
||||||
T0 = rd;
|
T0 = rd;
|
||||||
T1 = rm;
|
T1 = rm;
|
||||||
FORCE_RET();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void HELPER(neon_zip_u8)(void)
|
void HELPER(neon_zip_u8)(void)
|
||||||
@ -547,7 +544,6 @@ void HELPER(neon_zip_u8)(void)
|
|||||||
| ((T0 >> 8) & 0xff0000) | (T1 & 0xff000000);
|
| ((T0 >> 8) & 0xff0000) | (T1 & 0xff000000);
|
||||||
T0 = rd;
|
T0 = rd;
|
||||||
T1 = rm;
|
T1 = rm;
|
||||||
FORCE_RET();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void HELPER(neon_zip_u16)(void)
|
void HELPER(neon_zip_u16)(void)
|
||||||
@ -557,5 +553,4 @@ void HELPER(neon_zip_u16)(void)
|
|||||||
tmp = (T0 & 0xffff) | (T1 << 16);
|
tmp = (T0 & 0xffff) | (T1 << 16);
|
||||||
T1 = (T1 & 0xffff0000) | (T0 >> 16);
|
T1 = (T1 & 0xffff0000) | (T0 >> 16);
|
||||||
T0 = tmp;
|
T0 = tmp;
|
||||||
FORCE_RET();
|
|
||||||
}
|
}
|
||||||
|
@ -25,8 +25,6 @@ register struct CPUCRISState *env asm(AREG0);
|
|||||||
#include "cpu.h"
|
#include "cpu.h"
|
||||||
#include "exec-all.h"
|
#include "exec-all.h"
|
||||||
|
|
||||||
#define RETURN() __asm__ __volatile__("" : : : "memory");
|
|
||||||
|
|
||||||
static inline void env_to_regs(void)
|
static inline void env_to_regs(void)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
@ -189,7 +189,6 @@ void helper_movl_reg_sreg (uint32_t reg, uint32_t sreg)
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
env->regs[reg] = env->sregs[srs][sreg];
|
env->regs[reg] = env->sregs[srs][sreg];
|
||||||
RETURN();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void cris_ccs_rshift(CPUState *env)
|
static void cris_ccs_rshift(CPUState *env)
|
||||||
|
@ -1745,7 +1745,6 @@ void helper_aaa(void)
|
|||||||
}
|
}
|
||||||
EAX = (EAX & ~0xffff) | al | (ah << 8);
|
EAX = (EAX & ~0xffff) | al | (ah << 8);
|
||||||
CC_SRC = eflags;
|
CC_SRC = eflags;
|
||||||
FORCE_RET();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void helper_aas(void)
|
void helper_aas(void)
|
||||||
@ -1770,7 +1769,6 @@ void helper_aas(void)
|
|||||||
}
|
}
|
||||||
EAX = (EAX & ~0xffff) | al | (ah << 8);
|
EAX = (EAX & ~0xffff) | al | (ah << 8);
|
||||||
CC_SRC = eflags;
|
CC_SRC = eflags;
|
||||||
FORCE_RET();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void helper_daa(void)
|
void helper_daa(void)
|
||||||
@ -1798,7 +1796,6 @@ void helper_daa(void)
|
|||||||
eflags |= parity_table[al]; /* pf */
|
eflags |= parity_table[al]; /* pf */
|
||||||
eflags |= (al & 0x80); /* sf */
|
eflags |= (al & 0x80); /* sf */
|
||||||
CC_SRC = eflags;
|
CC_SRC = eflags;
|
||||||
FORCE_RET();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void helper_das(void)
|
void helper_das(void)
|
||||||
@ -1829,7 +1826,6 @@ void helper_das(void)
|
|||||||
eflags |= parity_table[al]; /* pf */
|
eflags |= parity_table[al]; /* pf */
|
||||||
eflags |= (al & 0x80); /* sf */
|
eflags |= (al & 0x80); /* sf */
|
||||||
CC_SRC = eflags;
|
CC_SRC = eflags;
|
||||||
FORCE_RET();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void helper_into(int next_eip_addend)
|
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);
|
ret = floatx_compare(ST0, FT0, &env->fp_status);
|
||||||
env->fpus = (env->fpus & ~0x4500) | fcom_ccval[ret + 1];
|
env->fpus = (env->fpus & ~0x4500) | fcom_ccval[ret + 1];
|
||||||
FORCE_RET();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void helper_fucom_ST0_FT0(void)
|
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);
|
ret = floatx_compare_quiet(ST0, FT0, &env->fp_status);
|
||||||
env->fpus = (env->fpus & ~0x4500) | fcom_ccval[ret+ 1];
|
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};
|
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 = helper_cc_compute_all(CC_OP);
|
||||||
eflags = (eflags & ~(CC_Z | CC_P | CC_C)) | fcomi_ccval[ret + 1];
|
eflags = (eflags & ~(CC_Z | CC_P | CC_C)) | fcomi_ccval[ret + 1];
|
||||||
CC_SRC = eflags;
|
CC_SRC = eflags;
|
||||||
FORCE_RET();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void helper_fucomi_ST0_FT0(void)
|
void helper_fucomi_ST0_FT0(void)
|
||||||
@ -3588,7 +3581,6 @@ void helper_fucomi_ST0_FT0(void)
|
|||||||
eflags = helper_cc_compute_all(CC_OP);
|
eflags = helper_cc_compute_all(CC_OP);
|
||||||
eflags = (eflags & ~(CC_Z | CC_P | CC_C)) | fcomi_ccval[ret + 1];
|
eflags = (eflags & ~(CC_Z | CC_P | CC_C)) | fcomi_ccval[ret + 1];
|
||||||
CC_SRC = eflags;
|
CC_SRC = eflags;
|
||||||
FORCE_RET();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void helper_fadd_ST0_FT0(void)
|
void helper_fadd_ST0_FT0(void)
|
||||||
@ -3773,7 +3765,6 @@ void helper_fwait(void)
|
|||||||
{
|
{
|
||||||
if (env->fpus & FPUS_SE)
|
if (env->fpus & FPUS_SE)
|
||||||
fpu_raise_exception();
|
fpu_raise_exception();
|
||||||
FORCE_RET();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void helper_fninit(void)
|
void helper_fninit(void)
|
||||||
@ -4629,7 +4620,6 @@ void helper_boundw(target_ulong a0, int v)
|
|||||||
if (v < low || v > high) {
|
if (v < low || v > high) {
|
||||||
raise_exception(EXCP05_BOUND);
|
raise_exception(EXCP05_BOUND);
|
||||||
}
|
}
|
||||||
FORCE_RET();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void helper_boundl(target_ulong a0, int v)
|
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) {
|
if (v < low || v > high) {
|
||||||
raise_exception(EXCP05_BOUND);
|
raise_exception(EXCP05_BOUND);
|
||||||
}
|
}
|
||||||
FORCE_RET();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static float approx_rsqrt(float a)
|
static float approx_rsqrt(float a)
|
||||||
|
@ -58,7 +58,6 @@ void glue(helper_psrlw, SUFFIX)(Reg *d, Reg *s)
|
|||||||
d->W(7) >>= shift;
|
d->W(7) >>= shift;
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
FORCE_RET();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void glue(helper_psraw, SUFFIX)(Reg *d, Reg *s)
|
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;
|
d->W(7) <<= shift;
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
FORCE_RET();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void glue(helper_psrld, SUFFIX)(Reg *d, Reg *s)
|
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;
|
d->L(3) >>= shift;
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
FORCE_RET();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void glue(helper_psrad, SUFFIX)(Reg *d, Reg *s)
|
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;
|
d->L(3) <<= shift;
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
FORCE_RET();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void glue(helper_psrlq, SUFFIX)(Reg *d, Reg *s)
|
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;
|
d->Q(1) >>= shift;
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
FORCE_RET();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void glue(helper_psllq, SUFFIX)(Reg *d, Reg *s)
|
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;
|
d->Q(1) <<= shift;
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
FORCE_RET();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#if SHIFT == 1
|
#if SHIFT == 1
|
||||||
@ -216,7 +210,6 @@ void glue(helper_psrldq, SUFFIX)(Reg *d, Reg *s)
|
|||||||
d->B(i) = d->B(i + shift);
|
d->B(i) = d->B(i + shift);
|
||||||
for(i = 16 - shift; i < 16; i++)
|
for(i = 16 - shift; i < 16; i++)
|
||||||
d->B(i) = 0;
|
d->B(i) = 0;
|
||||||
FORCE_RET();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void glue(helper_pslldq, SUFFIX)(Reg *d, Reg *s)
|
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);
|
d->B(i) = d->B(i - shift);
|
||||||
for(i = 0; i < shift; i++)
|
for(i = 0; i < shift; i++)
|
||||||
d->B(i) = 0;
|
d->B(i) = 0;
|
||||||
FORCE_RET();
|
|
||||||
}
|
}
|
||||||
#endif
|
#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) +
|
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);
|
(int16_t)s->W(2*i+1) * (int16_t)d->W(2*i+1);
|
||||||
}
|
}
|
||||||
FORCE_RET();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#if SHIFT == 0
|
#if SHIFT == 0
|
||||||
@ -479,7 +470,6 @@ void glue(helper_maskmov, SUFFIX) (Reg *d, Reg *s, target_ulong a0)
|
|||||||
if (s->B(i) & 0x80)
|
if (s->B(i) & 0x80)
|
||||||
stb(a0 + i, d->B(i));
|
stb(a0 + i, d->B(i));
|
||||||
}
|
}
|
||||||
FORCE_RET();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void glue(helper_movl_mm_T0, SUFFIX) (Reg *d, uint32_t val)
|
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);
|
s1 = s->XMM_S(0);
|
||||||
ret = float32_compare_quiet(s0, s1, &env->sse_status);
|
ret = float32_compare_quiet(s0, s1, &env->sse_status);
|
||||||
CC_SRC = comis_eflags[ret + 1];
|
CC_SRC = comis_eflags[ret + 1];
|
||||||
FORCE_RET();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void helper_comiss(Reg *d, Reg *s)
|
void helper_comiss(Reg *d, Reg *s)
|
||||||
@ -929,7 +918,6 @@ void helper_comiss(Reg *d, Reg *s)
|
|||||||
s1 = s->XMM_S(0);
|
s1 = s->XMM_S(0);
|
||||||
ret = float32_compare(s0, s1, &env->sse_status);
|
ret = float32_compare(s0, s1, &env->sse_status);
|
||||||
CC_SRC = comis_eflags[ret + 1];
|
CC_SRC = comis_eflags[ret + 1];
|
||||||
FORCE_RET();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void helper_ucomisd(Reg *d, Reg *s)
|
void helper_ucomisd(Reg *d, Reg *s)
|
||||||
@ -941,7 +929,6 @@ void helper_ucomisd(Reg *d, Reg *s)
|
|||||||
d1 = s->XMM_D(0);
|
d1 = s->XMM_D(0);
|
||||||
ret = float64_compare_quiet(d0, d1, &env->sse_status);
|
ret = float64_compare_quiet(d0, d1, &env->sse_status);
|
||||||
CC_SRC = comis_eflags[ret + 1];
|
CC_SRC = comis_eflags[ret + 1];
|
||||||
FORCE_RET();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void helper_comisd(Reg *d, Reg *s)
|
void helper_comisd(Reg *d, Reg *s)
|
||||||
@ -953,7 +940,6 @@ void helper_comisd(Reg *d, Reg *s)
|
|||||||
d1 = s->XMM_D(0);
|
d1 = s->XMM_D(0);
|
||||||
ret = float64_compare(d0, d1, &env->sse_status);
|
ret = float64_compare(d0, d1, &env->sse_status);
|
||||||
CC_SRC = comis_eflags[ret + 1];
|
CC_SRC = comis_eflags[ret + 1];
|
||||||
FORCE_RET();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
uint32_t helper_movmskps(Reg *s)
|
uint32_t helper_movmskps(Reg *s)
|
||||||
|
@ -43,8 +43,6 @@ static inline int cpu_halted(CPUState *env) {
|
|||||||
#include "softmmu_exec.h"
|
#include "softmmu_exec.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define RETURN() __asm__ __volatile__("")
|
|
||||||
|
|
||||||
static inline void regs_to_env(void)
|
static inline void regs_to_env(void)
|
||||||
{
|
{
|
||||||
/* XXXXX */
|
/* XXXXX */
|
||||||
|
Loading…
Reference in New Issue
Block a user