[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