OSDN Git Service

tcg/ppc: Fix TCG_TARGET_CALL_{ARG,RET}_I128 for ppc32
authorRichard Henderson <richard.henderson@linaro.org>
Sat, 8 Apr 2023 15:36:40 +0000 (08:36 -0700)
committerRichard Henderson <richard.henderson@linaro.org>
Mon, 10 Apr 2023 15:29:24 +0000 (08:29 -0700)
commit20861f34e0808bd06a0b7d74f8bd29c29e516ca5
tree3b0ab90c62c6cfe11650c6968d92375c9835cb98
parent25acc3f279d215250d0628e592ed7557a88aa3a7
tcg/ppc: Fix TCG_TARGET_CALL_{ARG,RET}_I128 for ppc32

For both _CALL_SYSV and _CALL_DARWIN, return is by reference,
not in 4 integer registers.  For _CALL_SYSV, argument is also
by reference.

This error resulted in

    $ ./qemu-system-i386 -nographic
    qemu-system-i386: tcg/ppc/tcg-target.c.inc:185: \
        tcg_target_call_oarg_reg: Assertion `slot >= 0 && slot <= 1' failed.

Fixes: 5427a9a7604 ("tcg: Add TCG_TARGET_CALL_{RET,ARG}_I128")
Tested-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
tcg/ppc/tcg-target.c.inc