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).