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.

Reply via email to