s390x: use CONFIG_INT128 to detect __uint128_t
Target s390x uses ad-hoc macro magic to guess if the compiler supports the GCC extension __uint128_t. This patch uses the the dedicated macro CONFIG_INT128 defined by configure instead. This fixes compilation with the CIL source code analyzer, which uses GCC as a preprocessor but does not support __uint128_t. Signed-off-by: Gabriel Kerneis <gabriel@kerneis.info> Reviewed-by: Richard Henderson <rth@twiddle.net> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
This commit is contained in:
parent
7edd2cf1a2
commit
d49b8e0b29
@ -97,8 +97,7 @@ uint64_t HELPER(divu64)(CPUS390XState *env, uint64_t ah, uint64_t al,
|
|||||||
ret = al / b;
|
ret = al / b;
|
||||||
} else {
|
} else {
|
||||||
/* ??? Move i386 idivq helper to host-utils. */
|
/* ??? Move i386 idivq helper to host-utils. */
|
||||||
#if HOST_LONG_BITS == 64 && defined(__GNUC__)
|
#ifdef CONFIG_INT128
|
||||||
/* assuming 64-bit hosts have __uint128_t */
|
|
||||||
__uint128_t a = ((__uint128_t)ah << 64) | al;
|
__uint128_t a = ((__uint128_t)ah << 64) | al;
|
||||||
__uint128_t q = a / b;
|
__uint128_t q = a / b;
|
||||||
env->retxl = a % b;
|
env->retxl = a % b;
|
||||||
|
Loading…
Reference in New Issue
Block a user