diff options
author | vmakarov <vmakarov@138bc75d-0d04-0410-961f-82ee72b054a4> | 2015-03-27 14:47:24 +0000 |
---|---|---|
committer | vmakarov <vmakarov@138bc75d-0d04-0410-961f-82ee72b054a4> | 2015-03-27 14:47:24 +0000 |
commit | ec44a0da390d01432acf36e2345ad6dfad09042c (patch) | |
tree | ab5f9fa3b84fcb355439b45a9188b52276e8a009 /gcc/ira-costs.c | |
parent | ed22b54075707bbf1b859cb36aac0ef0219b6522 (diff) | |
download | gcc-ec44a0da390d01432acf36e2345ad6dfad09042c.tar.gz |
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@221734 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ira-costs.c')
-rw-r--r-- | gcc/ira-costs.c | 11 |
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++; } } |