RISC-V: Promote type correctly for libcalls
- argument and return value for libcall won't promote at
default_promote_function_mode_always_promote, however we expect it
should sign-extend as normal function.
- Witout this patch, this test case will fail at -march=rv64i -mabi=lp64.
- The implementation of riscv_promote_function_mode is borrowed from MIPS.
gcc/ChangeLog
* config/riscv/riscv.c (riscv_promote_function_mode): New.
(TARGET_PROMOTE_FUNCTION_MODE): Use riscv_promote_function_mode.
gcc/testsuite/ChangeLog
* gcc.target/riscv/promote-type-for-libcall.c: New.
From-SVN: r274107