CI(full),CI(release): Do not refer to ATOMIC128 symbols if not available
This commit is contained in:
@@ -374,10 +374,10 @@ target_ulong helper_lscbx(CPUPPCState *env, target_ulong addr, uint32_t reg,
|
||||
}
|
||||
|
||||
#ifdef TARGET_PPC64
|
||||
#ifdef HAVE_ATOMIC128
|
||||
uint64_t helper_lq_le_parallel(CPUPPCState *env, target_ulong addr,
|
||||
uint32_t opidx)
|
||||
{
|
||||
#ifdef HAVE_ATOMIC128
|
||||
Int128 ret;
|
||||
|
||||
/* We will have raised EXCP_ATOMIC from the translator. */
|
||||
@@ -385,11 +385,16 @@ uint64_t helper_lq_le_parallel(CPUPPCState *env, target_ulong addr,
|
||||
ret = helper_atomic_ldo_le_mmu(env, addr, opidx, GETPC());
|
||||
env->retxh = int128_gethi(ret);
|
||||
return int128_getlo(ret);
|
||||
#else
|
||||
g_assert_not_reached();
|
||||
return 0;
|
||||
#endif
|
||||
}
|
||||
|
||||
uint64_t helper_lq_be_parallel(CPUPPCState *env, target_ulong addr,
|
||||
uint32_t opidx)
|
||||
{
|
||||
#ifdef HAVE_ATOMIC128
|
||||
Int128 ret;
|
||||
|
||||
/* We will have raised EXCP_ATOMIC from the translator. */
|
||||
@@ -397,36 +402,51 @@ uint64_t helper_lq_be_parallel(CPUPPCState *env, target_ulong addr,
|
||||
ret = helper_atomic_ldo_be_mmu(env, addr, opidx, GETPC());
|
||||
env->retxh = int128_gethi(ret);
|
||||
return int128_getlo(ret);
|
||||
#else
|
||||
g_assert_not_reached();
|
||||
return 0;
|
||||
#endif
|
||||
}
|
||||
|
||||
void helper_stq_le_parallel(CPUPPCState *env, target_ulong addr,
|
||||
uint64_t lo, uint64_t hi, uint32_t opidx)
|
||||
{
|
||||
#ifdef HAVE_ATOMIC128
|
||||
Int128 val;
|
||||
|
||||
/* We will have raised EXCP_ATOMIC from the translator. */
|
||||
assert(HAVE_ATOMIC128);
|
||||
val = int128_make128(lo, hi);
|
||||
helper_atomic_sto_le_mmu(env, addr, val, opidx, GETPC());
|
||||
#else
|
||||
g_assert_not_reached();
|
||||
return 0;
|
||||
#endif
|
||||
}
|
||||
|
||||
void helper_stq_be_parallel(CPUPPCState *env, target_ulong addr,
|
||||
uint64_t lo, uint64_t hi, uint32_t opidx)
|
||||
{
|
||||
#ifdef HAVE_ATOMIC128
|
||||
Int128 val;
|
||||
|
||||
/* We will have raised EXCP_ATOMIC from the translator. */
|
||||
assert(HAVE_ATOMIC128);
|
||||
val = int128_make128(lo, hi);
|
||||
helper_atomic_sto_be_mmu(env, addr, val, opidx, GETPC());
|
||||
#else
|
||||
g_assert_not_reached();
|
||||
return 0;
|
||||
#endif
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_CMPXCHG128
|
||||
|
||||
uint32_t helper_stqcx_le_parallel(CPUPPCState *env, target_ulong addr,
|
||||
uint64_t new_lo, uint64_t new_hi,
|
||||
uint32_t opidx)
|
||||
{
|
||||
#ifdef HAVE_CMPXCHG128
|
||||
bool success = false;
|
||||
|
||||
/* We will have raised EXCP_ATOMIC from the translator. */
|
||||
@@ -443,12 +463,17 @@ uint32_t helper_stqcx_le_parallel(CPUPPCState *env, target_ulong addr,
|
||||
}
|
||||
env->reserve_addr = -1;
|
||||
return env->so + success * CRF_EQ_BIT;
|
||||
#else
|
||||
g_assert_not_reached();
|
||||
return 0;
|
||||
#endif
|
||||
}
|
||||
|
||||
uint32_t helper_stqcx_be_parallel(CPUPPCState *env, target_ulong addr,
|
||||
uint64_t new_lo, uint64_t new_hi,
|
||||
uint32_t opidx)
|
||||
{
|
||||
#ifdef HAVE_CMPXCHG128
|
||||
bool success = false;
|
||||
|
||||
/* We will have raised EXCP_ATOMIC from the translator. */
|
||||
@@ -465,9 +490,11 @@ uint32_t helper_stqcx_be_parallel(CPUPPCState *env, target_ulong addr,
|
||||
}
|
||||
env->reserve_addr = -1;
|
||||
return env->so + success * CRF_EQ_BIT;
|
||||
#else
|
||||
g_assert_not_reached();
|
||||
return 0;
|
||||
#endif
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/*****************************************************************************/
|
||||
/* Altivec extension helpers */
|
||||
|
||||
Reference in New Issue
Block a user