https://gcc.gnu.org/bugzilla/show_bug.cgi?id=126117
Bug ID: 126117
Summary: [SH] sh/sh.cc:8905:34: error: too few arguments to
function 'rtx_def* get_free_reg(HARD_REG_SET)'
Product: gcc
Version: 17.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: target
Assignee: unassigned at gcc dot gnu.org
Reporter: glaubitz at debian dot org
CC: olegendo at gcc dot gnu.org
Target Milestone: ---
Target: sh*-*-*
This just occurred for the first time trying to bootstrap GCC on Debian
unstable sh4:
../../gcc/config/sh/sh.cc: In function 'void fpscr_set_from_mem(int,
HARD_REG_SET)':
../../gcc/config/sh/sh.cc:8905:34: error: too few arguments to function
'rtx_def* get_free_reg(HARD_REG_SET)'
8905 | rtx scratch = get_free_reg ();
| ~~~~~~~~~~~~~^~
../../gcc/config/sh/sh.cc:8856:1: note: declared here
8856 | get_free_reg (HARD_REG_SET regs_live)
| ^~~~~~~~~~~~
../../gcc/config/sh/sh.cc:8870:44: warning: unused parameter 'regs_live'
[-Wunused-parameter]
8870 | fpscr_set_from_mem (int mode, HARD_REG_SET regs_live)
| ~~~~~~~~~~~~~^~~~~~~~~
Looks like it's related to this recent change:
commit b6b9318ac9e72d6e3c9c400a98ce446846ed79d6 (origin/trunk, origin/master,
origin/HEAD, master)
Author: Oleg Endo <[email protected]>
Date: Sun Jul 5 16:23:26 2026 +0900
SH: Fix PR 67643
gcc/ChangeLog:
PR target/67643
* config/sh/sh.cc (fpscr_set_from_mem): Specify a post-inc memory
operand for lds_fpscr after RA.
gcc/testsuite/ChangeLog:
PR target/67643
* gcc.target/sh/pr67643.c: New test.