Message ID | 20210607165821.9892-32-peter.maydell@linaro.org |
---|---|
State | Superseded |
Headers | show |
Series | target/arm: First slice of MVE implementation | expand |
On 6/7/21 6:57 PM, Peter Maydell wrote: > 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> > --- > include/qemu/int128.h | 10 ++++++++++ > 1 file changed, 10 insertions(+) > > diff --git a/include/qemu/int128.h b/include/qemu/int128.h > index 52fc2384211..64500385e37 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 (Int128) { a, a >> 63 }; This file would be easier to review using explicit field names: return (Int128) { .lo = a, .hi = a >> 63 }; Also, maybe we could rename int128_makeX -> int128_make_uX before introducing int128_make_sX. Regardless: Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org> > +} > + > static inline Int128 int128_make128(uint64_t lo, uint64_t hi) > { > return (Int128) { lo, hi }; >
On 6/7/21 9:57 AM, Peter Maydell wrote: > 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> > --- > include/qemu/int128.h | 10 ++++++++++ > 1 file changed, 10 insertions(+) Reviewed-by: Richard Henderson <richard.henderson@linaro.org> r~
diff --git a/include/qemu/int128.h b/include/qemu/int128.h index 52fc2384211..64500385e37 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 };
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> --- include/qemu/int128.h | 10 ++++++++++ 1 file changed, 10 insertions(+) -- 2.20.1