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
This commit is contained in:
Vladimir Makarov 2015-03-27 14:47:24 +00:00 committed by Vladimir Makarov
parent 2166d2a1a0
commit d81c5030d1
4 changed files with 14 additions and 9 deletions

View 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

View 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++;
}
}

View 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

View 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>