Not familiar with this stuff. I leave it other RISC-V folks to review. juzhe.zhong@rivai.ai From: Lehua Ding Date: 2023-07-18 15:42 To: gcc-patches CC: juzhe.zhong; rdapp.gcc; kito.cheng; palmer; jeffreyalaw Subject: [PATCH] RISC-V: Fix testcase failed when default -mcmodel=medany Hi, This patch fix testcase failed when I build RISC-V GCC with -mcmodel=medany as default. If set to medany, stack_save_restore.c testcase will fail because of the reduced use of s3 registers in assembly (thus calling __riscv_save/store_3 instead of __riscv_save/store_4). Explicitly add -mcmodel=medlow to solve this problem. Best, Lehua gcc/testsuite/ChangeLog: * gcc.target/riscv/stack_save_restore.c: Add -mcmodel=medlow --- gcc/testsuite/gcc.target/riscv/stack_save_restore.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gcc/testsuite/gcc.target/riscv/stack_save_restore.c b/gcc/testsuite/gcc.target/riscv/stack_save_restore.c index 522e706cfbf..a2430783474 100644 --- a/gcc/testsuite/gcc.target/riscv/stack_save_restore.c +++ b/gcc/testsuite/gcc.target/riscv/stack_save_restore.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-march=rv32imafc -mabi=ilp32f -msave-restore -O2 -fno-schedule-insns -fno-schedule-insns2 -fno-unroll-loops -fno-peel-loops -fno-lto" } */ +/* { dg-options "-march=rv32imafc -mabi=ilp32f -msave-restore -O2 -fno-schedule-insns -fno-schedule-insns2 -fno-unroll-loops -fno-peel-loops -fno-lto -mcmodel=medlow" } */ /* { dg-final { check-function-bodies "**" "" } } */ char my_getchar(); -- 2.36.1