[Bug middle-end/28690] [4.2 Regression] Performace problem with indexed load/stores on powerpc

2008-04-09 Thread bergner at gcc dot gnu dot org
--- Comment #53 from bergner at gcc dot gnu dot org 2008-04-09 15:38 --- Author: bergner Date: Wed Apr 9 13:42:43 2008 New Revision: 134139 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=134139 Log: PR middle-end/PR28690 * explow.c (break_out_memory_refs): Use

[Bug middle-end/28690] [4.2 Regression] Performace problem with indexed load/stores on powerpc

2008-04-08 Thread ubizjak at gmail dot com
--- Comment #47 from ubizjak at gmail dot com 2008-04-08 06:39 --- Author: bergner Date: Mon Apr 7 17:36:59 2008 New Revision: 133985 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=133985 Log: PR middle-end/PR28690 * rtlanal.c: Update copyright years.

[Bug middle-end/28690] [4.2 Regression] Performace problem with indexed load/stores on powerpc

2008-04-08 Thread ubizjak at gmail dot com
--- Comment #48 from ubizjak at gmail dot com 2008-04-08 06:43 --- (In reply to comment #47) * rtlanal.c: Update copyright years. (commutative_operand_precedence): Give SYMBOL_REF's the same precedence This change causes regression in i686-pc-linux-gnu testsuite:

[Bug middle-end/28690] [4.2 Regression] Performace problem with indexed load/stores on powerpc

2008-04-08 Thread bergner at gcc dot gnu dot org
--- Comment #49 from bergner at gcc dot gnu dot org 2008-04-08 14:49 --- The offending hunk has been reverted in revision 134095. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28690

[Bug middle-end/28690] [4.2 Regression] Performace problem with indexed load/stores on powerpc

2008-04-08 Thread bonzini at gnu dot org
--- Comment #50 from bonzini at gnu dot org 2008-04-08 15:00 --- I guess that you had modified the precedences in order to allow additional simplifications. Can you report here what is missed using the current values? -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28690

[Bug middle-end/28690] [4.2 Regression] Performace problem with indexed load/stores on powerpc

2008-04-08 Thread bergner at gcc dot gnu dot org
--- Comment #51 from bergner at gcc dot gnu dot org 2008-04-08 18:50 --- Ok, I dug into this a little deeper. For the following test case: int array[1024]; void clear_table (unsigned int n) { unsigned int i; for (i = 0; i n; i++) array[i] = 0; } compiling

[Bug middle-end/28690] [4.2 Regression] Performace problem with indexed load/stores on powerpc

2008-04-08 Thread bonzini at gnu dot org
--- Comment #52 from bonzini at gnu dot org 2008-04-08 19:07 --- Subject: Re: [4.2 Regression] Performace problem with indexed load/stores on powerpc Index: explow.c === --- explow.c(revision 134095) +++

[Bug middle-end/28690] [4.2 Regression] Performace problem with indexed load/stores on powerpc

2008-01-15 Thread bergner at gcc dot gnu dot org
--- Comment #46 from bergner at gcc dot gnu dot org 2008-01-16 01:51 --- This is fixed on mainline and we're not going to backport it to 4.2, so I'm changing the target milestone. -- bergner at gcc dot gnu dot org changed: What|Removed |Added

[Bug middle-end/28690] [4.2 Regression] Performace problem with indexed load/stores on powerpc

2008-01-08 Thread steven at gcc dot gnu dot org
-- steven at gcc dot gnu dot org changed: What|Removed |Added Status|WAITING |NEW Last reconfirmed|2006-08-11 13:29:43 |2008-01-08

[Bug middle-end/28690] [4.2 Regression] Performace problem with indexed load/stores on powerpc

2006-10-12 Thread janis at gcc dot gnu dot org
--- Comment #23 from janis at gcc dot gnu dot org 2006-10-12 17:23 --- Subject: Bug 28690 Author: janis Date: Thu Oct 12 17:23:10 2006 New Revision: 117668 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=117668 Log: PR middle-end/28690 * explow.c (force_reg): Set

[Bug middle-end/28690] [4.2 Regression] Performace problem with indexed load/stores on powerpc

2006-10-03 Thread bergner at vnet dot ibm dot com
--- Comment #19 from bergner at vnet dot ibm dot com 2006-10-03 15:51 --- David has already said offline that he would reject any patch that would cause us to view a non-REG_POINTER + REG_POINTER expression an not legitimate. I agree with that. Sorry, but I'm slowly learning the

[Bug middle-end/28690] [4.2 Regression] Performace problem with indexed load/stores on powerpc

2006-10-03 Thread dje at gcc dot gnu dot org
--- Comment #20 from dje at gcc dot gnu dot org 2006-10-03 17:58 --- Paolo, forcing all addresses through legitimize_address should not be the goal. The wrong ordering has performance effects, but is not an invalid address. While the performance effects on POWER-specific,

[Bug middle-end/28690] [4.2 Regression] Performace problem with indexed load/stores on powerpc

2006-10-03 Thread dje at watson dot ibm dot com
--- Comment #22 from dje at watson dot ibm dot com 2006-10-03 18:09 --- Subject: Re: [4.2 Regression] Performace problem with indexed load/stores on powerpc I am not suggesting that the problem has to be solved in swap_commutative_operands, etc. I would think that GCC should

[Bug middle-end/28690] [4.2 Regression] Performace problem with indexed load/stores on powerpc

2006-10-03 Thread bonzini at gnu dot org
--- Comment #21 from bonzini at gnu dot org 2006-10-03 18:07 --- Note that I don't oppose at all fixing the problem in swap_commutative_operands_p. At the very least, you have to change at the very least simplify-rtx.c's uses of commutative_operand_precedence to use s_c_o_p instead,

[Bug middle-end/28690] [4.2 Regression] Performace problem with indexed load/stores on powerpc

2006-10-02 Thread bergner at vnet dot ibm dot com
--- Comment #17 from bergner at vnet dot ibm dot com 2006-10-03 03:30 --- Created an attachment (id=12375) -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=12375action=view) Patch to swap_commutative_operands_p and gen_addr_rtx to force base pointers into rA position of indexed

[Bug middle-end/28690] [4.2 Regression] Performace problem with indexed load/stores on powerpc

2006-10-02 Thread paolo dot bonzini at lu dot unisi dot ch
--- Comment #18 from paolo dot bonzini at lu dot unisi dot ch 2006-10-03 05:20 --- Subject: Re: [4.2 Regression] Performace problem with indexed load/stores on powerpc * rtlanal.c (swap_commutative_operands_p): Preference a REG_POINTER over a non REG_POINTER.

[Bug middle-end/28690] [4.2 Regression] Performace problem with indexed load/stores on powerpc

2006-09-22 Thread bergner at vnet dot ibm dot com
--- Comment #12 from bergner at vnet dot ibm dot com 2006-09-22 16:30 --- Anton dicovered that we don't get multiple dimensioned arrays like the following test case: int indexedload(int ***base, int idx0, int idx1, int idx2) { return base[idx0][idx1][idx2]; } This one leads to 3

[Bug middle-end/28690] [4.2 Regression] Performace problem with indexed load/stores on powerpc

2006-09-22 Thread bergner at vnet dot ibm dot com
--- Comment #13 from bergner at vnet dot ibm dot com 2006-09-22 16:56 --- Yet another test case from Anton we don't catch. Will they never end?!?! ;) int indexedload(int *base, int len) { int i, sum = 0; for (i=0; i len; i++) sum += base[i]; return sum; } In this case,

[Bug middle-end/28690] [4.2 Regression] Performace problem with indexed load/stores on powerpc

2006-09-22 Thread pinskia at gcc dot gnu dot org
--- Comment #14 from pinskia at gcc dot gnu dot org 2006-09-22 17:05 --- (In reply to comment #13) Yet another test case from Anton we don't catch. Will they never end?!?! ;) I bet a beer or a shot of vodka, that this is caused by MEM_REF not expanding with a REG_POINTER. --

Re: [Bug middle-end/28690] [4.2 Regression] Performace problem with indexed load/stores on powerpc

2006-09-22 Thread Andrew Pinski
On Fri, 2006-09-22 at 17:05 +, pinskia at gcc dot gnu dot org wrote: --- Comment #14 from pinskia at gcc dot gnu dot org 2006-09-22 17:05 --- (In reply to comment #13) Yet another test case from Anton we don't catch. Will they never end?!?! ;) I bet a beer or a shot of

[Bug middle-end/28690] [4.2 Regression] Performace problem with indexed load/stores on powerpc

2006-09-22 Thread pinskia at physics dot uc dot edu
--- Comment #15 from pinskia at physics dot uc dot edu 2006-09-22 17:09 --- Subject: Re: [4.2 Regression] Performace problem with indexed load/stores on powerpc On Fri, 2006-09-22 at 17:05 +, pinskia at gcc dot gnu dot org wrote: --- Comment #14 from pinskia at gcc

[Bug middle-end/28690] [4.2 Regression] Performace problem with indexed load/stores on powerpc

2006-09-22 Thread sabre at nondot dot org
--- Comment #16 from sabre at nondot dot org 2006-09-22 17:27 --- Out of curiosity, which powerpc processors are affected by this? -Chris -- sabre at nondot dot org changed: What|Removed |Added

[Bug middle-end/28690] [4.2 Regression] Performace problem with indexed load/stores on powerpc

2006-09-21 Thread bergner at vnet dot ibm dot com
--- Comment #9 from bergner at vnet dot ibm dot com 2006-09-21 18:14 --- Created an attachment (id=12305) -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=12305action=view) Patch to rs6000_legitimize_address to force base pointers into rA position of indexed load/store instructions.

[Bug middle-end/28690] [4.2 Regression] Performace problem with indexed load/stores on powerpc

2006-09-21 Thread bergner at vnet dot ibm dot com
--- Comment #10 from bergner at vnet dot ibm dot com 2006-09-21 18:16 --- (From update of attachment 12190) Forgot to obsolete this patch by the updated patch. -- bergner at vnet dot ibm dot com changed: What|Removed |Added

[Bug middle-end/28690] [4.2 Regression] Performace problem with indexed load/stores on powerpc

2006-09-21 Thread bergner at vnet dot ibm dot com
--- Comment #11 from bergner at vnet dot ibm dot com 2006-09-21 18:19 --- Created an attachment (id=12306) -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=12306action=view) Alternate patch to rs6000_legitimize_address to force base pointers into rA position of indexed load/store

[Bug middle-end/28690] [4.2 Regression] Performace problem with indexed load/stores on powerpc

2006-09-06 Thread bergner at vnet dot ibm dot com
--- Comment #8 from bergner at vnet dot ibm dot com 2006-09-07 05:14 --- Ok, this also passed regression tests on powerpc64-linux (32-bit and 64-bit testsuite runs) for c, c++, fortran, objc, obj-c++ and java. Does the attached patch look reasonable to everyone? --

[Bug middle-end/28690] [4.2 Regression] Performace problem with indexed load/stores on powerpc

2006-09-05 Thread bergner at vnet dot ibm dot com
--- Comment #5 from bergner at vnet dot ibm dot com 2006-09-05 18:43 --- Created an attachment (id=12190) -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=12190action=view) Patch to rs6000_legitimize_address to force base pointers into rA position of indexed load/store instructions.

[Bug middle-end/28690] [4.2 Regression] Performace problem with indexed load/stores on powerpc

2006-09-05 Thread bonzini at gnu dot org
--- Comment #6 from bonzini at gnu dot org 2006-09-05 19:25 --- To clarify, I make this suggestion because I think that we were getting it right pre-4.2 just out of luck. I also thought about having a lower commutative_operand_precedence for REG_POINTER regs than normal regs, but in

[Bug middle-end/28690] [4.2 Regression] Performace problem with indexed load/stores on powerpc

2006-09-05 Thread bergner at vnet dot ibm dot com
--- Comment #7 from bergner at vnet dot ibm dot com 2006-09-05 20:01 --- Well, to get REG_POINTER regs to be the first operand, we'd need to increase their commutative_operand_precedence. I tried that change already, but that led to an infinite recursion loop while attempting to

[Bug middle-end/28690] [4.2 Regression] Performace problem with indexed load/stores on powerpc

2006-09-03 Thread bonzini at gnu dot org
--- Comment #4 from bonzini at gnu dot org 2006-09-03 13:51 --- which ends up being -1 4, so we swap the operands. For powerpc, we'd prefer the base pointer remain the first operand for performance reasons. I'd like other people familar with this code to comment on how we can fix

[Bug middle-end/28690] [4.2 Regression] Performace problem with indexed load/stores on powerpc

2006-09-01 Thread mmitchel at gcc dot gnu dot org
-- mmitchel at gcc dot gnu dot org changed: What|Removed |Added Priority|P3 |P2 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28690

[Bug middle-end/28690] [4.2 Regression] Performace problem with indexed load/stores on powerpc

2006-08-25 Thread pinskia at gcc dot gnu dot org
-- pinskia at gcc dot gnu dot org changed: What|Removed |Added CC||pinskia at gcc dot gnu dot |

[Bug middle-end/28690] [4.2 Regression] Performace problem with indexed load/stores on powerpc

2006-08-25 Thread bergner at vnet dot ibm dot com
--- Comment #3 from bergner at vnet dot ibm dot com 2006-08-26 04:24 --- Ok, I tracked down where the expander is swapping the operands. It's occuring at simplify-rtx.c:simplify_binary_operation() at line 1459: /* Make sure the constant is second. */ if (GET_RTX_CLASS (code) ==

[Bug middle-end/28690] [4.2 Regression] Performace problem with indexed load/stores on powerpc

2006-08-11 Thread dje at gcc dot gnu dot org
--- Comment #1 from dje at gcc dot gnu dot org 2006-08-11 13:29 --- Confirmed -- dje at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED

[Bug middle-end/28690] [4.2 Regression] Performace problem with indexed load/stores on powerpc

2006-08-11 Thread dberlin at dberlin dot org
--- Comment #2 from dberlin at gcc dot gnu dot org 2006-08-11 14:33 --- Subject: Re: [4.2 Regression] Performace problem with indexed load/stores on powerpc Here is the reassoc patch that puts them in the right order at the tree level. Index: tree-ssa-reassoc.c