summaryrefslogtreecommitdiff
path: root/gcc/ira-costs.c
diff options
context:
space:
mode:
authorVladimir Makarov <vmakarov@redhat.com>2015-03-27 14:47:24 +0000
committerVladimir Makarov <vmakarov@gcc.gnu.org>2015-03-27 14:47:24 +0000
commitd81c5030d1ca9920bc41de91819cef17c83a8805 (patch)
treeab5f9fa3b84fcb355439b45a9188b52276e8a009 /gcc/ira-costs.c
parent2166d2a1a010c5172a14e30bb17c3bd4ca9a9ff3 (diff)
downloadgcc-d81c5030d1ca9920bc41de91819cef17c83a8805.tar.gz
re PR target/65407 (Extra mask register move in gcc.target/i386/avx512f-kandnw-1.c)
2015-03-27 Vladimir Makarov <vmakarov@redhat.com> PR target/65407 * ira-costs.c (record_reg_classes): Process all constraint string containing 0-9. 2015-03-27 Vladimir Makarov <vmakarov@redhat.com> PR target/65407 * gcc.target/i386/avx512f-kandnw-1.c: Add scanning kmovw. From-SVN: r221734
Diffstat (limited to 'gcc/ira-costs.c')
-rw-r--r--gcc/ira-costs.c11
1 files changed, 2 insertions, 9 deletions
diff --git a/gcc/ira-costs.c b/gcc/ira-costs.c
index c19f2586aff..354ba6ba063 100644
--- a/gcc/ira-costs.c
+++ b/gcc/ira-costs.c
@@ -589,7 +589,7 @@ record_reg_classes (int n_alts, int n_ops, rtx *ops,
while (*p == '%' || *p == '=' || *p == '+' || *p == '&')
p++;
- if (p[0] >= '0' && p[0] <= '0' + i && (p[1] == ',' || p[1] == 0))
+ if (p[0] >= '0' && p[0] <= '0' + i)
{
/* Copy class and whether memory is allowed from the
matching alternative. Then perform any needed cost
@@ -754,14 +754,7 @@ record_reg_classes (int n_alts, int n_ops, rtx *ops,
&& ! find_reg_note (insn, REG_DEAD, op))
alt_cost += 2;
- /* This is in place of ordinary cost computation for
- this operand, so skip to the end of the
- alternative (should be just one character). */
- while (*p && *p++ != ',')
- ;
-
- constraints[i] = p;
- continue;
+ p++;
}
}