v4: - Centralize sign-extension (clearly out of my comfort zone) - Remove bswap in LD_code()
SPARC is big-endian. Use the explicit 'big' endianness instead of the 'native' one. Forbid further uses of legacy APIs. Philippe Mathieu-Daudé (5): qemu/int128: Add int128_signextend() accel/tcg: Have cpu_ld*_mmu() methods consider the MO_SIGN flag target/sparc: Remove dubious swapping in LD_code() helper target/sparc: Replace MO_TE -> MO_BE configs/targets: Forbid SPARC to use legacy native endianness APIs configs/targets/sparc-linux-user.mak | 1 + configs/targets/sparc-softmmu.mak | 1 + configs/targets/sparc32plus-linux-user.mak | 1 + configs/targets/sparc64-linux-user.mak | 1 + configs/targets/sparc64-softmmu.mak | 1 + include/qemu/int128.h | 10 ++++ accel/tcg/cputlb.c | 37 +++++++++++--- target/sparc/ldst_helper.c | 18 ------- target/sparc/translate.c | 58 +++++++++++----------- tests/unit/test-int128.c | 22 ++++++++ 10 files changed, 97 insertions(+), 53 deletions(-) -- 2.52.0
