diff options
author | Peter Maydell <peter.maydell@linaro.org> | 2021-06-14 16:09:43 +0100 |
---|---|---|
committer | Peter Maydell <peter.maydell@linaro.org> | 2021-06-16 14:33:52 +0100 |
commit | 703235a303d6862a7e3f5c6aa9eff7471cb138b2 (patch) | |
tree | 426e1ca346bcda7e7c7bbdafba6054ed7c8ea3ad /include | |
parent | dbcf6f9367a6a4af05b18cf0d7badf7677f403c4 (diff) | |
download | qemu-703235a303d6862a7e3f5c6aa9eff7471cb138b2.zip qemu-703235a303d6862a7e3f5c6aa9eff7471cb138b2.tar.gz qemu-703235a303d6862a7e3f5c6aa9eff7471cb138b2.tar.bz2 |
include/qemu/int128.h: Add function to create Int128 from int64_t
int128_make64() creates an Int128 from an unsigned 64 bit value; add
a function int128_makes64() creating an Int128 from a signed 64 bit
value.
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-id: 20210614151007.4545-34-peter.maydell@linaro.org
Diffstat (limited to 'include')
-rw-r--r-- | include/qemu/int128.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/include/qemu/int128.h b/include/qemu/int128.h index 52fc238..6450038 100644 --- a/include/qemu/int128.h +++ b/include/qemu/int128.h @@ -11,6 +11,11 @@ static inline Int128 int128_make64(uint64_t a) return a; } +static inline Int128 int128_makes64(int64_t a) +{ + return a; +} + static inline Int128 int128_make128(uint64_t lo, uint64_t hi) { return (__uint128_t)hi << 64 | lo; @@ -167,6 +172,11 @@ static inline Int128 int128_make64(uint64_t a) return (Int128) { a, 0 }; } +static inline Int128 int128_makes64(int64_t a) +{ + return (Int128) { a, a >> 63 }; +} + static inline Int128 int128_make128(uint64_t lo, uint64_t hi) { return (Int128) { lo, hi }; |