I'd got confused when doing the genrecog position thing, and converted
the match_op_dup '0'-based positions into XVECEXP0 rather than XEXP.

The patch below restores powerpc64's insn-recog.c to the form it had
before the changes.  Applied as obvious.

Sorry for the breakage.

Richard


gcc/
        PR bootstrap/49195
        * genrecog.c (add_to_sequence): Use XEXP rather than XVECEXP
        for match_op_dup.

Index: gcc/genrecog.c
===================================================================
--- gcc/genrecog.c      2011-05-28 08:37:01.000000000 +0100
+++ gcc/genrecog.c      2011-05-28 08:37:01.000000000 +0100
@@ -913,10 +913,10 @@ add_to_sequence (rtx pattern, struct dec
       test = new_decision_test (DT_accept_op, &place);
       test->u.opno = XINT (pattern, 0);
 
-      subpos_ptr = &pos->xvecexp0s;
+      subpos_ptr = &pos->xexps;
       for (i = 0; i < (size_t) XVECLEN (pattern, 1); i++)
        {
-         subpos = next_position (subpos_ptr, pos, POS_XVECEXP0, i);
+         subpos = next_position (subpos_ptr, pos, POS_XEXP, i);
          sub = add_to_sequence (XVECEXP (pattern, 1, i),
                                 &sub->success, subpos, insn_type, 0);
          subpos_ptr = &subpos->next;

Reply via email to