diff options
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/ira-costs.c | 11 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/i386/avx512f-kandnw-1.c | 1 |
4 files changed, 14 insertions, 9 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index d5535f9..05b193b 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +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 Bernd Schmidt <bernds@codesourcery.com> * config/c6x/c6x.md (movmisalign<mode>): Use MEM_P, not diff --git a/gcc/ira-costs.c b/gcc/ira-costs.c index c19f258..354ba6b 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++; } } diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 1ee29dd..69a1cda 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2015-03-27 Vladimir Makarov <vmakarov@redhat.com> + + PR target/65407 + * gcc.target/i386/avx512f-kandnw-1.c: Add scanning kmovw. + 2015-03-27 Andre Vehreschild <vehre@gmx.de> * gfortran.dg/unlimited_polymorphic_24.f03: Added copyright diff --git a/gcc/testsuite/gcc.target/i386/avx512f-kandnw-1.c b/gcc/testsuite/gcc.target/i386/avx512f-kandnw-1.c index 17b7b29..727a589 100644 --- a/gcc/testsuite/gcc.target/i386/avx512f-kandnw-1.c +++ b/gcc/testsuite/gcc.target/i386/avx512f-kandnw-1.c @@ -1,6 +1,7 @@ /* { dg-do compile } */ /* { dg-options "-mavx512f -O2" } */ /* { dg-final { scan-assembler-times "kandnw\[ \\t\]+\[^\{\n\]*%k\[0-7\](?:\n|\[ \\t\]+#)" 1 } } */ +/* { dg-final { scan-assembler-times "kmovw" 2 } } */ #include <immintrin.h> |