public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c++/14456] New: C++ Altivec test case produces non-optimal code due to register allocator
@ 2004-03-06  4:36 tjw at omnigroup dot com
  2004-03-06  4:36 ` [Bug c++/14456] " tjw at omnigroup dot com
                   ` (5 more replies)
  0 siblings, 6 replies; 7+ messages in thread
From: tjw at omnigroup dot com @ 2004-03-06  4:36 UTC (permalink / raw)
  To: gcc-bugs

The attached test case produces the following with:

$PREFIX/bin/g++ -mdynamic-no-pic -fno-exceptions -O3 -maltivec -fstrict-aliasing obj.cpp -S 
-o obj-34.s

L11:
        vaddfp v0,v11,v13
        addi r2,r2,1
        vaddfp v1,v10,v12
        cmplw cr7,r2,r5
        vmaddfp v8,v0,v11,v13
        vmaddfp v6,v1,v10,v12
        vsubfp v9,v0,v13
        vsubfp v7,v1,v12
        vor v11,v8,v8
        vor v10,v6,v6
        vor v13,v9,v9
        vor v12,v7,v7
        blt+ cr7,L11

when built with C, or with -fnew-ra you get:

L11:
        addi r2,r2,1
        vaddfp v1,v11,v13
        vaddfp v0,v12,v10
        cmplw cr7,r2,r9
        vmaddfp v11,v1,v11,v13
        vmaddfp v12,v0,v12,v10
        vsubfp v13,v1,v13
        vsubfp v10,v0,v10
        blt+ cr7,L11

so, I guess consider this a vote for making -fnew-ra non-experimental/default.

-- 
           Summary: C++ Altivec test case produces non-optimal code due to
                    register allocator
           Product: gcc
           Version: tree-ssa
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: c++
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: tjw at omnigroup dot com
                CC: gcc-bugs at gcc dot gnu dot org
 GCC build triplet: powerpc-apple-darwin7.2.0
  GCC host triplet: powerpc-apple-darwin7.2.0
GCC target triplet: powerpc-apple-darwin7.2.0


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


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

* [Bug c++/14456] C++ Altivec test case produces non-optimal code due to register allocator
  2004-03-06  4:36 [Bug c++/14456] New: C++ Altivec test case produces non-optimal code due to register allocator tjw at omnigroup dot com
@ 2004-03-06  4:36 ` tjw at omnigroup dot com
  2004-03-06  4:41 ` [Bug optimization/14456] " pinskia at gcc dot gnu dot org
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: tjw at omnigroup dot com @ 2004-03-06  4:36 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From tjw at omnigroup dot com  2004-03-06 04:36 -------
Created an attachment (id=5875)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=5875&action=view)
Test input


-- 


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


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

* [Bug optimization/14456] C++ Altivec test case produces non-optimal code due to register allocator
  2004-03-06  4:36 [Bug c++/14456] New: C++ Altivec test case produces non-optimal code due to register allocator tjw at omnigroup dot com
  2004-03-06  4:36 ` [Bug c++/14456] " tjw at omnigroup dot com
@ 2004-03-06  4:41 ` pinskia at gcc dot gnu dot org
  2004-04-07  3:17 ` tjw at omnigroup dot com
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-03-06  4:41 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pinskia at gcc dot gnu dot org  2004-03-06 04:41 -------
Already confirmed by me.

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
           Severity|normal                      |enhancement
             Status|UNCONFIRMED                 |NEW
          Component|c++                         |optimization
     Ever Confirmed|                            |1
           Keywords|                            |pessimizes-code
   Last reconfirmed|0000-00-00 00:00:00         |2004-03-06 04:41:23
               date|                            |


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


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

* [Bug optimization/14456] C++ Altivec test case produces non-optimal code due to register allocator
  2004-03-06  4:36 [Bug c++/14456] New: C++ Altivec test case produces non-optimal code due to register allocator tjw at omnigroup dot com
  2004-03-06  4:36 ` [Bug c++/14456] " tjw at omnigroup dot com
  2004-03-06  4:41 ` [Bug optimization/14456] " pinskia at gcc dot gnu dot org
@ 2004-04-07  3:17 ` tjw at omnigroup dot com
  2004-05-31  2:22 ` [Bug rtl-optimization/14456] " pinskia at gcc dot gnu dot org
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: tjw at omnigroup dot com @ 2004-04-07  3:17 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From tjw at omnigroup dot com  2004-04-07 03:17 -------
Uh, ignore the attachment I just made to this bug; bugzilla seems to have gone crazy and attached 
it to this bug instead of #14455.  Scary.

-- 


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


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

* [Bug rtl-optimization/14456] C++ Altivec test case produces non-optimal code due to register allocator
  2004-03-06  4:36 [Bug c++/14456] New: C++ Altivec test case produces non-optimal code due to register allocator tjw at omnigroup dot com
                   ` (2 preceding siblings ...)
  2004-04-07  3:17 ` tjw at omnigroup dot com
@ 2004-05-31  2:22 ` pinskia at gcc dot gnu dot org
  2004-06-02 18:57 ` pinskia at gcc dot gnu dot org
  2004-06-04  6:02 ` pinskia at gcc dot gnu dot org
  5 siblings, 0 replies; 7+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-05-31  2:22 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pinskia at gcc dot gnu dot org  2004-05-30 04:41 -------
I should note that after my fix for PR 14042, this is no longer reproducable with this testcase.

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
Bug 14456 depends on bug 14042, which changed state.

Bug 14042 Summary: C++ abstraction penalty is high in simple cases
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14042

           What    |Old Value                   |New Value
----------------------------------------------------------------------------
             Status|SUSPENDED                   |RESOLVED
         Resolution|                            |FIXED
             Status|RESOLVED                    |REOPENED
         Resolution|FIXED                       |
             Status|REOPENED                    |ASSIGNEDBug 14456 depends on bug 14042, which changed state.

Bug 14042 Summary: C++ abstraction penalty is high in simple cases
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14042

           What    |Old Value                   |New Value
----------------------------------------------------------------------------
             Status|SUSPENDED                   |RESOLVED
         Resolution|                            |FIXED
             Status|RESOLVED                    |REOPENED
         Resolution|FIXED                       |
             Status|REOPENED                    |ASSIGNED

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


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

* [Bug rtl-optimization/14456] C++ Altivec test case produces non-optimal code due to register allocator
  2004-03-06  4:36 [Bug c++/14456] New: C++ Altivec test case produces non-optimal code due to register allocator tjw at omnigroup dot com
                   ` (3 preceding siblings ...)
  2004-05-31  2:22 ` [Bug rtl-optimization/14456] " pinskia at gcc dot gnu dot org
@ 2004-06-02 18:57 ` pinskia at gcc dot gnu dot org
  2004-06-04  6:02 ` pinskia at gcc dot gnu dot org
  5 siblings, 0 replies; 7+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-06-02 18:57 UTC (permalink / raw)
  To: gcc-bugs



-- 
Bug 14456 depends on bug 14042, which changed state.

Bug 14042 Summary: C++ abstraction penalty is high in simple cases
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14042

           What    |Old Value                   |New Value
----------------------------------------------------------------------------
             Status|ASSIGNED                    |RESOLVED
         Resolution|                            |FIXED

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


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

* [Bug rtl-optimization/14456] C++ Altivec test case produces non-optimal code due to register allocator
  2004-03-06  4:36 [Bug c++/14456] New: C++ Altivec test case produces non-optimal code due to register allocator tjw at omnigroup dot com
                   ` (4 preceding siblings ...)
  2004-06-02 18:57 ` pinskia at gcc dot gnu dot org
@ 2004-06-04  6:02 ` pinskia at gcc dot gnu dot org
  5 siblings, 0 replies; 7+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-06-04  6:02 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pinskia at gcc dot gnu dot org  2004-06-04 06:02 -------
I am going to close this one as fixed even though there is most likely a testcase out there which is not 
fixed, if you find one post the bug.

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|                            |FIXED
   Target Milestone|---                         |3.5.0


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


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

end of thread, other threads:[~2004-06-04  6:02 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-03-06  4:36 [Bug c++/14456] New: C++ Altivec test case produces non-optimal code due to register allocator tjw at omnigroup dot com
2004-03-06  4:36 ` [Bug c++/14456] " tjw at omnigroup dot com
2004-03-06  4:41 ` [Bug optimization/14456] " pinskia at gcc dot gnu dot org
2004-04-07  3:17 ` tjw at omnigroup dot com
2004-05-31  2:22 ` [Bug rtl-optimization/14456] " pinskia at gcc dot gnu dot org
2004-06-02 18:57 ` pinskia at gcc dot gnu dot org
2004-06-04  6:02 ` 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).