From: steven Date: Wed, 17 Feb 2010 15:05:40 +0000 (+0000) Subject: * gensupport.c (process_one_cond_exec): Derive name for COND_EXEC X-Git-Url: http://git.sourceforge.jp/view?p=pf3gnuchains%2Fgcc-fork.git;a=commitdiff_plain;h=5bc0532c3a91d4567a643b843e4495fe66b90b02 * gensupport.c (process_one_cond_exec): Derive name for COND_EXEC patterns from predicated pattern. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@156831 138bc75d-0d04-0410-961f-82ee72b054a4 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index a8f3b4e03f4..b105dc66bf6 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2010-02-17 Steven Bosscher + + * gensupport.c (process_one_cond_exec): Derive name for COND_EXEC + patterns from predicated pattern. + 2010-02-17 Uros Bizjak PR target/43103 diff --git a/gcc/gensupport.c b/gcc/gensupport.c index f0b5613e050..3a96af832e9 100644 --- a/gcc/gensupport.c +++ b/gcc/gensupport.c @@ -780,6 +780,7 @@ process_one_cond_exec (struct queue_elem *ce_elem) { int alternatives, max_operand; rtx pred, insn, pattern, split; + char *new_name; int i; if (! is_predicable (insn_elem)) @@ -806,7 +807,9 @@ process_one_cond_exec (struct queue_elem *ce_elem) /* Construct a new pattern for the new insn. */ insn = copy_rtx (insn_elem->data); - XSTR (insn, 0) = ""; + new_name = XNEWVAR (char, strlen XSTR (insn_elem->data, 0) + 4); + sprintf (new_name, "*p %s", XSTR (insn_elem->data, 0)); + XSTR (insn, 0) = new_name; pattern = rtx_alloc (COND_EXEC); XEXP (pattern, 0) = pred; if (XVECLEN (insn, 1) == 1)