From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 23276 invoked by alias); 28 Oct 2006 11:31:11 -0000 Received: (qmail 23242 invoked by alias); 28 Oct 2006 11:31:01 -0000 Date: Sat, 28 Oct 2006 11:31:00 -0000 Message-ID: <20061028113101.23241.qmail@sourceware.org> X-Bugzilla-Reason: CC References: Subject: [Bug target/28806] lround is not expanded inline to SSE conversion sequence In-Reply-To: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "rguenth at gcc dot gnu dot org" Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org X-SW-Source: 2006-10/txt/msg02391.txt.bz2 List-Id: ------- Comment #2 from rguenth at gcc dot gnu dot org 2006-10-28 11:31 ------- Subject: Bug 28806 Author: rguenth Date: Sat Oct 28 11:30:41 2006 New Revision: 118105 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=118105 Log: 2006-10-28 Richard Guenther PR target/28806 * builtins.c (expand_builtin_int_roundingfn_2): Expand BUILT_IN_LROUND and BUILT_IN_LLROUND from here. (expand_builtin): Adjust likewise. * genopinit.c (optabs[]): Add lround optab. * optabs.c (init_optabs): Initialize lround_optab. * optabs.h (enum convert_optab_index): Add COI_lround. (lround_optab): Define. * config/i386/i386-protos.h (ix86_expand_lround): Declare. * config/i386/i386.c (ix86_sse_copysign_to_positive): New static function. (ix86_expand_lround): New function. * config/i386/i386.md (lrounddi2, lroundsi2): New expanders. * doc/md.texi (lroundMN2): Document. * gcc.target/i386/math-torture/lround.c: New testcase. Added: trunk/gcc/testsuite/gcc.target/i386/math-torture/lround.c Modified: trunk/gcc/ChangeLog trunk/gcc/builtins.c trunk/gcc/config/i386/i386-protos.h trunk/gcc/config/i386/i386.c trunk/gcc/config/i386/i386.md trunk/gcc/doc/md.texi trunk/gcc/genopinit.c trunk/gcc/optabs.c trunk/gcc/optabs.h trunk/gcc/testsuite/ChangeLog -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28806