2015-03-27 Vladimir Makarov <vmakarov@redhat.com>
authorvmakarov <vmakarov@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 27 Mar 2015 14:47:24 +0000 (14:47 +0000)
committervmakarov <vmakarov@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 27 Mar 2015 14:47:24 +0000 (14:47 +0000)
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

gcc/ChangeLog
gcc/ira-costs.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/i386/avx512f-kandnw-1.c

index d5535f9..05b193b 100644 (file)
@@ -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
index c19f258..354ba6b 100644 (file)
@@ -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++;
                }
            }
 
index 1ee29dd..69a1cda 100644 (file)
@@ -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
index 17b7b29..727a589 100644 (file)
@@ -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>