From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 23612 invoked by alias); 15 Apr 2011 00:03:36 -0000 Received: (qmail 23599 invoked by uid 22791); 15 Apr 2011 00:03:35 -0000 X-SWARE-Spam-Status: No, hits=-2.7 required=5.0 tests=ALL_TRUSTED,AWL,BAYES_00,TW_AV,TW_DQ,TW_OV,TW_SR,TW_VD X-Spam-Check-By: sourceware.org Received: from localhost (HELO gcc.gnu.org) (127.0.0.1) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Fri, 15 Apr 2011 00:03:30 +0000 From: "zsojka at seznam dot cz" To: gcc-bugs@gcc.gnu.org Subject: [Bug testsuite/48614] New: gcc.target/i386/pr46084.c should require avx_runtime X-Bugzilla-Reason: CC X-Bugzilla-Type: new X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: testsuite X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: zsojka at seznam dot cz X-Bugzilla-Status: UNCONFIRMED X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Changed-Fields: Message-ID: X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated Content-Type: text/plain; charset="UTF-8" MIME-Version: 1.0 Date: Fri, 15 Apr 2011 00:03:00 -0000 Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org X-SW-Source: 2011-04/txt/msg01471.txt.bz2 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48614 Summary: gcc.target/i386/pr46084.c should require avx_runtime Product: gcc Version: 4.7.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: testsuite AssignedTo: unassigned@gcc.gnu.org ReportedBy: zsojka@seznam.cz Host: x86_64-pc-linux-gnu Target: x86_64-pc-linux-gnu Currently, that test fails with -ftree-vectorize in RUNTESTFLAGS: $ gcc gcc.target/i386/pr46084.c -fsplit-stack -O2 -mavx -ftree-vectorize $ gdb ./a.out Program received signal SIGILL, Illegal instruction. 0x0000000000400d0e in use_buffer (buf=Unhandled dwarf expression opcode 0xf3 ) at gcc.target/i386/pr46084.c:21 21 for (i = 0; i < c; ++i) (gdb) disassemble Dump of assembler code for function use_buffer: ... 0x0000000000400d02 <+98>: lea 0x1(%rax),%rdx 0x0000000000400d06 <+102>: mov %rax,-0x10(%rsp) 0x0000000000400d0b <+107>: add %rdi,%rcx => 0x0000000000400d0e <+110>: vmovq -0x10(%rsp),%xmm0 0x0000000000400d14 <+116>: vpinsrq $0x1,%rdx,%xmm0,%xmm1 0x0000000000400d1a <+122>: vmovdqa 0x10ae(%rip),%xmm13 # 0x401dd0 0x0000000000400d22 <+130>: xor %edx,%edx 0x0000000000400d24 <+132>: vmovdqa 0x10b4(%rip),%xmm0 # 0x401de0 0x0000000000400d2c <+140>: vmovdqa 0x10bc(%rip),%xmm9 # 0x401df0 0x0000000000400d34 <+148>: vmovdqa 0x10c4(%rip),%xmm8 # 0x401e00 0x0000000000400d3c <+156>: vmovdqa 0x10cc(%rip),%xmm12 # 0x401e10 0x0000000000400d44 <+164>: vmovdqa 0x10d4(%rip),%xmm11 # 0x401e20 0x0000000000400d4c <+172>: jmp 0x400d54 I know I am using custom RUNTESTFLAGS, but if the fix is as easy as adding "{ dg-require-effective-target avx_runtime }", it would be nice to have it fixed. Index: gcc/testsuite/gcc.target/i386/pr46084.c =================================================================== --- gcc/testsuite/gcc.target/i386/pr46084.c (revision 172439) +++ gcc/testsuite/gcc.target/i386/pr46084.c (working copy) @@ -2,6 +2,7 @@ only run on Unix. */ /* { dg-do run { target *-*-linux* *-*-solaris* *-*-darwin* } } */ /* { dg-require-effective-target avx } */ +/* { dg-require-effective-target avx_runtime } */ /* { dg-require-effective-target split_stack } */ /* { dg-options "-fsplit-stack -O2 -mavx" } */ Prevents the failure, but I am not sure if the line above the change isn't now redundant.