https://gcc.gnu.org/g:d4d30461c02b50c07f92c8cccb87da528a806d3e
commit r15-365-gd4d30461c02b50c07f92c8cccb87da528a806d3e Author: Dimitar Dimitrov <dimi...@dinux.eu> Date: Thu May 9 22:19:24 2024 +0300 pru: Fix register class checks in predicates The register class checks in the multiply-source predicates was incorrectly using the register number instead of the register class for comparison. gcc/ChangeLog: * config/pru/predicates.md (pru_mulsrc0_operand): Use register class instead of register number for the check. (pru_mulsrc1_operand): Ditto. Signed-off-by: Dimitar Dimitrov <dimi...@dinux.eu> Diff: --- gcc/config/pru/predicates.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gcc/config/pru/predicates.md b/gcc/config/pru/predicates.md index 77b3316b98ee..55635599609b 100644 --- a/gcc/config/pru/predicates.md +++ b/gcc/config/pru/predicates.md @@ -103,7 +103,7 @@ else return 0; - return REGNO_REG_CLASS (regno) == MULSRC0_REGNUM + return REGNO_REG_CLASS (regno) == MULSRC0_REGS || regno >= FIRST_PSEUDO_REGISTER; } return 0; @@ -123,7 +123,7 @@ else return 0; - return REGNO_REG_CLASS (regno) == MULSRC1_REGNUM + return REGNO_REG_CLASS (regno) == MULSRC1_REGS || regno >= FIRST_PSEUDO_REGISTER; } return 0;