From dfc107627c31c493e4ed089aea79bc398738a27b Mon Sep 17 00:00:00 2001 From: Segher Boessenkool Date: Thu, 15 Jun 2017 08:49:17 +0200 Subject: [PATCH] rs6000: Don't use REGNO in the add3 expander The argument could be a subreg of reg instead, which means we have to use reg_or_subregno instead of REGNO. * config/rs6000/rs6000.md (add3): Use reg_or_subregno instead of REGNO. From-SVN: r249213 --- gcc/ChangeLog | 5 +++++ gcc/config/rs6000/rs6000.md | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 2d5110c8d86..f460df6bd0d 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2017-06-15 Segher Boessenkool + + * config/rs6000/rs6000.md (add3): Use reg_or_subregno instead + of REGNO. + 2017-06-14 Maciej W. Rozycki * config/mips/mips.md (MIPS16_T_REGNUM): Remove constant. diff --git a/gcc/config/rs6000/rs6000.md b/gcc/config/rs6000/rs6000.md index dedb2e3c193..8e1b460ee81 100644 --- a/gcc/config/rs6000/rs6000.md +++ b/gcc/config/rs6000/rs6000.md @@ -1631,7 +1631,7 @@ /* Adding a constant to r0 is not a valid insn, so use a different strategy in that case. */ - if (REGNO (operands[1]) == 0 || REGNO (tmp) == 0) + if (reg_or_subregno (operands[1]) == 0 || reg_or_subregno (tmp) == 0) { if (operands[0] == operands[1]) FAIL; -- 2.30.2