From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 13907 invoked by alias); 21 Nov 2006 20:09:33 -0000 Received: (qmail 13817 invoked by uid 48); 21 Nov 2006 20:09:10 -0000 Date: Tue, 21 Nov 2006 20:09:00 -0000 Message-ID: <20061121200910.13816.qmail@sourceware.org> X-Bugzilla-Reason: CC References: Subject: [Bug target/29930] Omitted conversion float -> double in x86 back-end In-Reply-To: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "ubizjak at gmail dot com" 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: 2006-11/txt/msg01910.txt.bz2 ------- Comment #2 from ubizjak at gmail dot com 2006-11-21 20:09 ------- You should use -ffloat-store if you are concerned about excess precision. There will be no end of moves to and from memory: foo: pushl %ebp movl %esp, %ebp subl $16, %esp fildll 8(%ebp) fstps -4(%ebp) flds -4(%ebp) fstpl -16(%ebp) fldl -16(%ebp) leave ret This is a bit unoptimal, but I guess one shouldn't count extra cpu cycles when -ffloat-store is required. BTW: -ffloat-store with SSE math is a bit amusing, but fortunatelly totally unnecessary. -- ubizjak at gmail dot com changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |WONTFIX http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29930