re PR target/50788 (ICE: in merge_overlapping_regs, at regrename.c:318 with -mavx -fpeel-loops -fstack-protector-all and __builtin_ia32_maskloadpd256)

PR target/50788
	* config/i386/sse.md (avx_maskload<ssemodesuffix><avxmodesuffix>):
	Remove (match_dup 0).

testsuite/ChangeLog:

	PR target/50788
	* gcc.target/i386/pr50788.c: New test.

From-SVN: r180339
This commit is contained in:
Uros Bizjak 2011-10-23 17:19:06 +02:00 committed by Uros Bizjak
parent 0c52c5a135
commit 51d76d54d2
4 changed files with 22 additions and 2 deletions

View File

@ -1,3 +1,9 @@
2011-10-23 Uros Bizjak <ubizjak@gmail.com>
PR target/50788
* config/i386/sse.md (avx_maskload<ssemodesuffix><avxmodesuffix>):
Remove (match_dup 0).
2011-10-18 Uros Bizjak <ubizjak@gmail.com>
Eric Botcazou <ebotcazou@adacore.com>

View File

@ -11674,8 +11674,7 @@
[(set (match_operand:AVXMODEF2P 0 "register_operand" "=x")
(unspec:AVXMODEF2P
[(match_operand:AVXMODEF2P 1 "memory_operand" "m")
(match_operand:<avxpermvecmode> 2 "register_operand" "x")
(match_dup 0)]
(match_operand:<avxpermvecmode> 2 "register_operand" "x")]
UNSPEC_MASKLOAD))]
"TARGET_AVX"
"vmaskmovp<avxmodesuffixf2c>\t{%1, %2, %0|%0, %2, %1}"

View File

@ -1,3 +1,8 @@
2011-10-23 Uros Bizjak <ubizjak@gmail.com>
PR target/50788
* gcc.target/i386/pr50788.c: New test.
2011-10-19 Jason Merrill <jason@redhat.com>
PR c++/50793

View File

@ -0,0 +1,10 @@
/* { dg-do compile } */
/* { dg-options "-O2 -mavx -fpeel-loops -fstack-protector-all" } */
typedef long long __m256i __attribute__ ((__vector_size__ (32)));
typedef double __m256d __attribute__ ((__vector_size__ (32)));
__m256d foo (__m256d *__P, __m256i __M)
{
return __builtin_ia32_maskloadpd256 ( __P, __M);
}