From: amodra Date: Thu, 27 Aug 2015 13:56:39 +0000 (+0000) Subject: [RS6000] Correct constraints for ior_mask X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=e76fe21e25c043fc93e05cab70f0d83920d1e6b7;p=thirdparty%2Fgcc.git [RS6000] Correct constraints for ior_mask ior_mask always splits to rtl matching rotl3_insert. The latter requires one of its input operands match the output, so let reload/lra know the equivalent operand match must also occur for ior_mask. PR target/67356 * config/rs6000/rs6000.md (ior_mask): Use constraint "0" for operand 1. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227260 138bc75d-0d04-0410-961f-82ee72b054a4 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 0934bff54359..367a289b68a9 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2015-08-27 Alan Modra + + PR target/67356 + * config/rs6000/rs6000.md (ior_mask): Use constraint "0" + for operand 1. + 2015-08-27 Richard Biener * passes.c (rest_of_decl_compilation): Guard early_global_decl diff --git a/gcc/config/rs6000/rs6000.md b/gcc/config/rs6000/rs6000.md index 48abc2663495..cfdb286a2cba 100644 --- a/gcc/config/rs6000/rs6000.md +++ b/gcc/config/rs6000/rs6000.md @@ -3683,7 +3683,7 @@ ; an insert instruction, in many cases. (define_insn_and_split "*ior_mask" [(set (match_operand:GPR 0 "gpc_reg_operand" "=r") - (ior:GPR (match_operand:GPR 1 "gpc_reg_operand" "r") + (ior:GPR (match_operand:GPR 1 "gpc_reg_operand" "0") (match_operand:GPR 2 "const_int_operand" "n"))) (clobber (match_scratch:GPR 3 "=r"))] "!logical_const_operand (operands[2], mode)