public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug target/28806]  New: lround is not expanded inline to SSE conversion sequence
@ 2006-08-22 15:00 rguenth at gcc dot gnu dot org
  2006-08-22 15:01 ` [Bug target/28806] " rguenth at gcc dot gnu dot org
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2006-08-22 15:00 UTC (permalink / raw)
  To: gcc-bugs

The C99 lround function should be expanded inline to
  (long)(x + copysign (0.5, x))


-- 
           Summary: lround is not expanded inline to SSE conversion sequence
           Product: gcc
           Version: 4.2.0
            Status: UNCONFIRMED
          Keywords: missed-optimization
          Severity: enhancement
          Priority: P3
         Component: target
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: rguenth at gcc dot gnu dot org
GCC target triplet: x86_64-*-*, i?86-*-*


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28806


^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Bug target/28806] lround is not expanded inline to SSE conversion sequence
  2006-08-22 15:00 [Bug target/28806] New: lround is not expanded inline to SSE conversion sequence rguenth at gcc dot gnu dot org
@ 2006-08-22 15:01 ` rguenth at gcc dot gnu dot org
  2006-10-28 11:31 ` rguenth at gcc dot gnu dot org
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 5+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2006-08-22 15:01 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #1 from rguenth at gcc dot gnu dot org  2006-08-22 15:01 -------
Mine.  I have a patch in testing.


-- 

rguenth at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         AssignedTo|unassigned at gcc dot gnu   |rguenth at gcc dot gnu dot
                   |dot org                     |org
             Status|UNCONFIRMED                 |ASSIGNED
     Ever Confirmed|0                           |1
   Last reconfirmed|0000-00-00 00:00:00         |2006-08-22 15:01:10
               date|                            |


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28806


^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Bug target/28806] lround is not expanded inline to SSE conversion sequence
  2006-08-22 15:00 [Bug target/28806] New: lround is not expanded inline to SSE conversion sequence rguenth at gcc dot gnu dot org
  2006-08-22 15:01 ` [Bug target/28806] " rguenth at gcc dot gnu dot org
@ 2006-10-28 11:31 ` rguenth at gcc dot gnu dot org
  2006-10-28 18:22 ` pinskia at gcc dot gnu dot org
  2006-10-28 18:23 ` pinskia at gcc dot gnu dot org
  3 siblings, 0 replies; 5+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2006-10-28 11:31 UTC (permalink / raw)
  To: gcc-bugs



------- 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  <rguenther@suse.de>

        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 (lround<mode>di2, lround<mode>si2):
        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


^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Bug target/28806] lround is not expanded inline to SSE conversion sequence
  2006-08-22 15:00 [Bug target/28806] New: lround is not expanded inline to SSE conversion sequence rguenth at gcc dot gnu dot org
  2006-08-22 15:01 ` [Bug target/28806] " rguenth at gcc dot gnu dot org
  2006-10-28 11:31 ` rguenth at gcc dot gnu dot org
@ 2006-10-28 18:22 ` pinskia at gcc dot gnu dot org
  2006-10-28 18:23 ` pinskia at gcc dot gnu dot org
  3 siblings, 0 replies; 5+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2006-10-28 18:22 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #3 from pinskia at gcc dot gnu dot org  2006-10-28 18:22 -------
Fixed.


-- 

pinskia at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |RESOLVED
         Resolution|                            |FIXED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28806


^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Bug target/28806] lround is not expanded inline to SSE conversion sequence
  2006-08-22 15:00 [Bug target/28806] New: lround is not expanded inline to SSE conversion sequence rguenth at gcc dot gnu dot org
                   ` (2 preceding siblings ...)
  2006-10-28 18:22 ` pinskia at gcc dot gnu dot org
@ 2006-10-28 18:23 ` pinskia at gcc dot gnu dot org
  3 siblings, 0 replies; 5+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2006-10-28 18:23 UTC (permalink / raw)
  To: gcc-bugs



-- 

pinskia at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|---                         |4.3.0


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28806


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2006-10-28 18:23 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2006-08-22 15:00 [Bug target/28806] New: lround is not expanded inline to SSE conversion sequence rguenth at gcc dot gnu dot org
2006-08-22 15:01 ` [Bug target/28806] " rguenth at gcc dot gnu dot org
2006-10-28 11:31 ` rguenth at gcc dot gnu dot org
2006-10-28 18:22 ` pinskia at gcc dot gnu dot org
2006-10-28 18:23 ` pinskia at gcc dot gnu dot org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).