From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 5978 invoked by alias); 31 Jul 2007 19:36:08 -0000 Received: (qmail 5947 invoked by uid 48); 31 Jul 2007 19:35:58 -0000 Date: Tue, 31 Jul 2007 19:36:00 -0000 Message-ID: <20070731193558.5946.qmail@sourceware.org> X-Bugzilla-Reason: CC References: Subject: [Bug target/30961] [4.1/4.2/4.3 regression] redundant reg/mem stores/moves In-Reply-To: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "hjl at lucon dot org" 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: 2007-07/txt/msg03064.txt.bz2 ------- Comment #15 from hjl at lucon dot org 2007-07-31 19:35 ------- (In reply to comment #14) > (In reply to comment #13) > > Created an attachment (id=13550) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=13550&action=view) [edit] > > An experimental patch > > > > This patch works for the testcase. > > i've applied this patch to 4.2.1 and compile testcases: > > > > convert/m32/m64 look fine. load/m32/m64 still look unoptimal. > Gcc 4.3 works: .text .p2align 4,,15 .globl convert .type convert, @function convert: movl %edi, -4(%rsp) movss -4(%rsp), %xmm0 ret .size convert, .-convert .p2align 4,,15 .globl load .type load, @function load: movzwl (%rdi), %eax ret .size load, .-load .ident "GCC: (GNU) 4.3.0 20070731 (experimental) [trunk revision 127100]" -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30961