]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
re PR middle-end/21273 (gensupport.c:collect_insn_data doesn't consider the constrain...
authorBernd Schmidt <bernds@redhat.com>
Tue, 15 Dec 2015 14:34:01 +0000 (14:34 +0000)
committerBernd Schmidt <bernds@gcc.gnu.org>
Tue, 15 Dec 2015 14:34:01 +0000 (14:34 +0000)
Fix PR21273

PR middle-end/21273
* gensupport.c (collect_insn_data): Look for number of alternatives
in MATCH_SCRATCH.

From-SVN: r231654

gcc/ChangeLog
gcc/gensupport.c

index ca50fba0f69e783dae584567193f43c601b583fd..69fe3a7273ef242113dd19fe31e3098b072831e6 100644 (file)
@@ -1,3 +1,9 @@
+2015-12-15  Bernd Schmidt  <bschmidt@redhat.com>
+
+       PR middle-end/21273
+       * gensupport.c (collect_insn_data): Look for number of alternatives
+       in MATCH_SCRATCH.
+
 2015-12-15  Nathan Sidwell  <nathan@acm.org>
 
        * config/nvptx/nvptx.h (HARD_REGNO_NREGS): Reformat.
index 7969060c117f7d207bb667ef907998513c489ccd..e32f19950185506e749c73347fee039136d67e04 100644 (file)
@@ -1068,12 +1068,12 @@ collect_insn_data (rtx pattern, int *palt, int *pmax)
   switch (code)
     {
     case MATCH_OPERAND:
-      i = n_alternatives (XSTR (pattern, 2));
+    case MATCH_SCRATCH:
+      i = n_alternatives (XSTR (pattern, code == MATCH_SCRATCH ? 1 : 2));
       *palt = (i > *palt ? i : *palt);
       /* Fall through.  */
 
     case MATCH_OPERATOR:
-    case MATCH_SCRATCH:
     case MATCH_PARALLEL:
       i = XINT (pattern, 0);
       if (i > *pmax)