diff mbox

Fix and improve avx2 broadcasts (PR target/63594)

Message ID yddtx2t24q5.fsf@CeBiTec.Uni-Bielefeld.DE
State New
Headers show

Commit Message

Rainer Orth Oct. 24, 2014, 9:32 a.m. UTC
Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> writes:

> Jakub Jelinek <jakub@redhat.com> writes:
>
>> On Thu, Oct 23, 2014 at 02:58:06PM +0200, Rainer Orth wrote:
>>> Unfortunately, I see some problems with those tests on Solaris:
>>> 
>>> * On Solaris/x86, I get
>>> 
>>> FAIL: gcc.dg/pr63594-2.c execution test
>>> 
>>>   for 32-bit.  Any particular reason to restrict -mno-mmx to Linux/x86?
>>>   Manually building the testcase with -mno-mmx on Solaris/x86 seems to
>>>   cure the failure.
>>
>> No reason, probably finger memory without lots of thinking.
>> The reason for -mno-mmx is that the functions use floating point vectors
>> and scalar floating point arithmetics in the same function.
>> Feel free to change both pr63594-{1,2}.c with s/linux//g .
>
> Ok, will do and commit after Linux and Solaris testing.

Here's what I've checked in after i686-unknown-linux-gnu,
x86_64-unknown-linux-gnu, and i386-pc-solaris2.11 testing:

2014-10-24  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

       * gcc.dg/pr63594-1.c: Apply -mno-mmx to all i?86-*-* and x86_64-*-*
       targets.
       * gcc.dg/pr63594-2.c: Likewise.
>>> * On 64-bit Solaris/SPARC, I get
>>> 
>>> FAIL: gcc.dg/pr63594-1.c (internal compiler error)
>>> FAIL: gcc.dg/pr63594-1.c (test for excess errors)
>>> 
>>> /vol/gcc/src/hg/trunk/local/gcc/testsuite/gcc.dg/pr63594-1.c: In function
>>> 'test1float1':
>>> /vol/gcc/src/hg/trunk/local/gcc/testsuite/gcc.dg/pr63594-1.c:19:1:
>>> internal compiler error: Bus Error
>>> /vol/gcc/src/hg/trunk/local/gcc/testsuite/gcc.dg/pr63594-1.c:57:1: note:
>>> in expansion of macro 'T'
>>> 0x751c03 crash_signal
>>>         /vol/gcc/src/hg/trunk/local/gcc/toplev.c:349
>>> 0x44ffb4 gen_group_rtx(rtx_def*)
>>>         /vol/gcc/src/hg/trunk/local/gcc/expr.c:1624
>>> 0x4f8167 expand_function_start(tree_node*)
>>>         /vol/gcc/src/hg/trunk/local/gcc/function.c:4803
>>> 0x36278f execute
>>>         /vol/gcc/src/hg/trunk/local/gcc/cfgexpand.c:5709
>>
>> Works fine on x86_64, and doesn't seem to be related to the fix in any way,
>> it seems the ICE is related to returning or passing the vectors, so
>> supposedly some latent Solaris/SPARC issue?
>
> Ok, I'll file a PR and Cc Eric.

This seems to be the same issue as PR target/61535.

	Rainer
diff mbox

Patch

diff --git a/gcc/testsuite/gcc.dg/pr63594-1.c b/gcc/testsuite/gcc.dg/pr63594-1.c
--- a/gcc/testsuite/gcc.dg/pr63594-1.c
+++ b/gcc/testsuite/gcc.dg/pr63594-1.c
@@ -1,7 +1,7 @@ 
 /* PR target/63594 */
 /* { dg-do compile } */
 /* { dg-options "-O2 -Wno-psabi" } */
-/* { dg-additional-options "-mno-mmx" { target i?86-*-linux* x86_64-*-linux* } } */
+/* { dg-additional-options "-mno-mmx" { target i?86-*-* x86_64-*-* } } */
 
 #define C1 c
 #define C2 C1, C1
diff --git a/gcc/testsuite/gcc.dg/pr63594-2.c b/gcc/testsuite/gcc.dg/pr63594-2.c
--- a/gcc/testsuite/gcc.dg/pr63594-2.c
+++ b/gcc/testsuite/gcc.dg/pr63594-2.c
@@ -1,7 +1,7 @@ 
 /* PR target/63594 */
 /* { dg-do run } */
 /* { dg-options "-O2 -Wno-psabi" } */
-/* { dg-additional-options "-mno-mmx" { target i?86-*-linux* x86_64-*-linux* } } */
+/* { dg-additional-options "-mno-mmx" { target i?86-*-* x86_64-*-* } } */
 
 #define C1 c
 #define C2 C1, C1