From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 16729 invoked by alias); 15 May 2004 23:23:52 -0000 Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org Received: (qmail 16716 invoked by uid 48); 15 May 2004 23:23:51 -0000 Date: Sun, 16 May 2004 23:46:00 -0000 Message-ID: <20040515232351.16715.qmail@sourceware.org> From: "tjw at omnigroup dot com" To: gcc-bugs@gcc.gnu.org In-Reply-To: <20040206074537.14042.tjw@omnigroup.com> References: <20040206074537.14042.tjw@omnigroup.com> Reply-To: gcc-bugzilla@gcc.gnu.org Subject: [Bug tree-optimization/14042] C++ abstraction penalty is high in simple cases X-Bugzilla-Reason: CC X-SW-Source: 2004-05/txt/msg01685.txt.bz2 List-Id: ------- Additional Comments From tjw at omnigroup dot com 2004-05-15 23:23 ------- This actually looks worse now. Taking the original obj.cpp file and compiling with a fresh checkout of mainline after the merge of tree-ssa, I get the following for iterate_ok: L4: vaddfp v0,v13,v1 addi r9,r1,-96 vmaddfp v13,v0,v13,v1 stvx v0,r9,r0 vsubfp v1,v0,v1 bdnz L4 Note that this used to have no memory operations in the inner loop and now it looks like its repetitively storing the same vector to the stack. Then, for iterate_bad I get: L16: addi r10,r1,-144 vaddfp v1,v9,v10 lvx v0,r10,r0 lvx v13,r10,r2 vaddfp v12,v13,v0 stvx v1,r10,r11 vmaddfp v9,v1,v9,v10 vsubfp v10,v1,v10 vsubfp v11,v12,v0 stvx v12,r10,r9 vmaddfp v13,v12,v13,v0 stvx v11,r10,r0 stvx v13,r10,r2 bdnz L16 This is still chock full of unneeded memory operations. -- What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |REOPENED Resolution|FIXED | http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14042