aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/gensupport.c4
2 files changed, 8 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index ca50fba..69fe3a7 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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.
diff --git a/gcc/gensupport.c b/gcc/gensupport.c
index 7969060..e32f199 100644
--- a/gcc/gensupport.c
+++ b/gcc/gensupport.c
@@ -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)