aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSteven Bosscher <steven@gcc.gnu.org>2010-02-17 15:05:40 +0000
committerSteven Bosscher <steven@gcc.gnu.org>2010-02-17 15:05:40 +0000
commit2f6c5b27e0ec1967ddf35761be24a9c132f7f110 (patch)
tree155772cc8c9dfba7d51689c5129d65d956938cb2
parentce4674f2a6ac6bb7b8926076adf92694443f3f1b (diff)
downloadgcc-2f6c5b27e0ec1967ddf35761be24a9c132f7f110.zip
gcc-2f6c5b27e0ec1967ddf35761be24a9c132f7f110.tar.gz
gcc-2f6c5b27e0ec1967ddf35761be24a9c132f7f110.tar.bz2
gensupport.c (process_one_cond_exec): Derive name for COND_EXEC patterns from predicated pattern.
* gensupport.c (process_one_cond_exec): Derive name for COND_EXEC patterns from predicated pattern. From-SVN: r156831
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/gensupport.c5
2 files changed, 9 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index a8f3b4e..b105dc6 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2010-02-17 Steven Bosscher <steven@gcc.gnu.org>
+
+ * gensupport.c (process_one_cond_exec): Derive name for COND_EXEC
+ patterns from predicated pattern.
+
2010-02-17 Uros Bizjak <ubizjak@gmail.com>
PR target/43103
diff --git a/gcc/gensupport.c b/gcc/gensupport.c
index f0b5613..3a96af8 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)