From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 29908 invoked by alias); 3 Nov 2010 20:43:04 -0000 Received: (qmail 29896 invoked by uid 22791); 3 Nov 2010 20:43:03 -0000 X-SWARE-Spam-Status: No, hits=-2.5 required=5.0 tests=ALL_TRUSTED,AWL,BAYES_00,TW_AV,TW_OV,TW_VX,TW_VZ 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; Wed, 03 Nov 2010 20:42:55 +0000 From: "hjl.tools at gmail dot com" To: gcc-bugs@gcc.gnu.org Subject: [Bug target/46295] New: Missing vzeroupper X-Bugzilla-Reason: CC X-Bugzilla-Type: new X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: target X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: hjl.tools at gmail dot com 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: Wed, 03 Nov 2010 20:43: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: 2010-11/txt/msg00424.txt.bz2 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46295 Summary: Missing vzeroupper Product: gcc Version: 4.6.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target AssignedTo: unassigned@gcc.gnu.org ReportedBy: hjl.tools@gmail.com CC: ubizjak@gmail.com [hjl@gnu-6 969]$ cat z.i typedef double VECTOR[3]; typedef double EXPRESS[5]; void Parse_Rel_Factor (EXPRESS Express,int *Terms); void Parse_Vector (VECTOR Vector) { EXPRESS Express; int Terms; for (Terms = 0; Terms < 5; Terms++) Express[Terms] = 0.0; Parse_Rel_Factor(Express,&Terms); } [hjl@gnu-6 969]$ make z.s /export/build/gnu/gcc-avx256/build-x86_64-linux/gcc/xgcc -B/export/build/gnu/gcc-avx256/build-x86_64-linux/gcc/ -O3 -funroll-loops -ffast-math -mavx -S z.i [hjl@gnu-6 969]$ cat z.s .file "z.i" .text .p2align 4,,15 .globl Parse_Vector .type Parse_Vector, @function Parse_Vector: .LFB0: .cfi_startproc pushq %rbp .cfi_def_cfa_offset 16 .cfi_offset 6, -16 vxorpd %xmm0, %xmm0, %xmm0 movq %rsp, %rbp .cfi_def_cfa_register 6 andq $-32, %rsp subq $64, %rsp leaq 60(%rsp), %rsi movq %rsp, %rdi vmovapd %ymm0, (%rsp) movq $0, 32(%rsp) movl $5, 60(%rsp) call Parse_Rel_Factor leave .cfi_def_cfa 7, 8 ret .cfi_endproc .LFE0: .size Parse_Vector, .-Parse_Vector .ident "GCC: (GNU) 4.6.0 20101103 (experimental)" .section .note.GNU-stack,"",@progbits [hjl@gnu-6 969]$