From de4bfbcbaae0fab6d727639f75ab76d0ffd167b5 Mon Sep 17 00:00:00 2001 From: Richard Henderson Date: Mon, 8 May 2000 16:33:23 -0700 Subject: [PATCH] gensupport.c (process_rtx): Copy and post-process each member of the define_insn rtvec individually. * gensupport.c (process_rtx): Copy and post-process each member of the define_insn rtvec individually. From-SVN: r33780 --- gcc/ChangeLog | 3 +++ gcc/gensupport.c | 11 +++++++++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 20873e6878f..c2d0209427c 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -5,6 +5,9 @@ * config/ia64/ia64.md (extendsfdf2): Split the nop case out of existance. + * gensupport.c (process_rtx): Copy and post-process each member + of the define_insn rtvec individually. + Mon 8 May 22:17:35 2000 Neil Booth * cpplex.c (spell_token): New function. diff --git a/gcc/gensupport.c b/gcc/gensupport.c index 317d359b7e7..534f5531df5 100644 --- a/gcc/gensupport.c +++ b/gcc/gensupport.c @@ -174,11 +174,18 @@ process_rtx (desc, lineno) { const char *split_cond; rtx split; + int i; /* Create a split with values from the insn_and_split. */ split = rtx_alloc (DEFINE_SPLIT); - XEXP (split, 0) = copy_rtx (XEXP (desc, 1)); - remove_constraints (XEXP (split, 0)); + + i = XVECLEN (desc, 1); + XEXP (split, 0) = rtvec_alloc (i); + while (--i >= 0) + { + XVECEXP (split, 0, i) = copy_rtx (XVECEXP (desc, 1, i)); + remove_constraints (XVECEXP (split, 0, i)); + } /* If the split condition starts with "&&", append it to the insn condition to create the new split condition. */ -- 2.30.2