[Bug c++/14456] New: C++ Altivec test case produces non-optimal code due to register allocator
tjw at omnigroup dot com
gcc-bugzilla@gcc.gnu.org
Sat Mar 6 04:36:00 GMT 2004
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
More information about the Gcc-bugs
mailing list