On 10/21/22 01:12, Philippe Mathieu-Daudé wrote:
On 20/10/22 13:52, Richard Henderson wrote:
+++ b/tcg/riscv/tcg-target.h
@@ -81,8 +81,8 @@ typedef enum {
/* used for function call generation */
#define TCG_REG_CALL_STACK TCG_REG_SP
#define TCG_TARGET_STACK_ALIGN 16
-#define TCG_TARGET_CALL_ALIGN_ARGS 1
#define TCG_TARGET_CALL_STACK_OFFSET 0
+#define TCG_TARGET_CALL_ARG_I64 TCG_CALL_ARG_NORMAL
Don't we want to use the even arg on RV32 hosts?
#if TCG_TARGET_REG_BITS == 32
# define TCG_TARGET_CALL_ARG_I64 TCG_CALL_ARG_EVEN
#else
# define TCG_TARGET_CALL_ARG_I64 TCG_CALL_ARG_NORMAL
#endif
Good catch.
I had remembered that we only supported rv64, incorrectly it would seem from the myriad
other tests for T_T_R_B.
r~