mirror of https://github.com/xemu-project/xemu.git
target/sparc: Define AM_CHECK for sparc32
Define as false, which allows some ifdef removal. Tested-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> Acked-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
This commit is contained in:
parent
878cc6773a
commit
b1bc09ea6b
|
@ -268,20 +268,21 @@ static void gen_move_Q(DisasContext *dc, unsigned int rd, unsigned int rs)
|
|||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef TARGET_SPARC64
|
||||
#ifndef TARGET_ABI32
|
||||
#define AM_CHECK(dc) ((dc)->address_mask_32bit)
|
||||
#if !defined(TARGET_SPARC64)
|
||||
# define AM_CHECK(dc) false
|
||||
#elif defined(TARGET_ABI32)
|
||||
# define AM_CHECK(dc) true
|
||||
#elif defined(CONFIG_USER_ONLY)
|
||||
# define AM_CHECK(dc) false
|
||||
#else
|
||||
#define AM_CHECK(dc) (1)
|
||||
#endif
|
||||
# define AM_CHECK(dc) ((dc)->address_mask_32bit)
|
||||
#endif
|
||||
|
||||
static void gen_address_mask(DisasContext *dc, TCGv addr)
|
||||
{
|
||||
#ifdef TARGET_SPARC64
|
||||
if (AM_CHECK(dc))
|
||||
if (AM_CHECK(dc)) {
|
||||
tcg_gen_andi_tl(addr, addr, 0xffffffffULL);
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
static TCGv gen_load_gpr(DisasContext *dc, int reg)
|
||||
|
@ -1366,11 +1367,9 @@ static void do_branch(DisasContext *dc, int32_t offset, uint32_t insn, int cc)
|
|||
unsigned int cond = GET_FIELD(insn, 3, 6), a = (insn & (1 << 29));
|
||||
target_ulong target = dc->pc + offset;
|
||||
|
||||
#ifdef TARGET_SPARC64
|
||||
if (unlikely(AM_CHECK(dc))) {
|
||||
target &= 0xffffffffULL;
|
||||
}
|
||||
#endif
|
||||
if (cond == 0x0) {
|
||||
/* unconditional not taken */
|
||||
if (a) {
|
||||
|
@ -1406,11 +1405,9 @@ static void do_fbranch(DisasContext *dc, int32_t offset, uint32_t insn, int cc)
|
|||
unsigned int cond = GET_FIELD(insn, 3, 6), a = (insn & (1 << 29));
|
||||
target_ulong target = dc->pc + offset;
|
||||
|
||||
#ifdef TARGET_SPARC64
|
||||
if (unlikely(AM_CHECK(dc))) {
|
||||
target &= 0xffffffffULL;
|
||||
}
|
||||
#endif
|
||||
if (cond == 0x0) {
|
||||
/* unconditional not taken */
|
||||
if (a) {
|
||||
|
|
Loading…
Reference in New Issue