Re: [PATCH] Don't combine param and return value copies

2015-05-28 Thread Segher Boessenkool
On Tue, May 26, 2015 at 04:37:46PM +0930, Alan Modra wrote: > On powerpc64le, modifying the way combine treats function parameters > and call arguments results in some regressions. > > For instance, this testcase from varasm.c > > extern int foo3 (void *, ...); > extern void foo4 (void *, const c

Re: [PATCH] Don't combine param and return value copies

2015-05-26 Thread Alan Modra
On powerpc64le, modifying the way combine treats function parameters and call arguments results in some regressions. For instance, this testcase from varasm.c extern int foo3 (void *, ...); extern void foo4 (void *, const char *); int emit_tls_common (void *decl, const char *name

Re: [PATCH] Don't combine param and return value copies

2015-05-25 Thread Segher Boessenkool
On Mon, May 25, 2015 at 10:26:35AM +0930, Alan Modra wrote: > On Sat, May 23, 2015 at 08:45:23AM -0500, Segher Boessenkool wrote: > > Thanks. Did you see improvements around return as well, or mostly / > > only related to the function start? > > The rlwinm vs. rldicl change was in dwarf2out.c add

Re: [PATCH] Don't combine param and return value copies

2015-05-24 Thread Alan Modra
On Mon, May 25, 2015 at 10:26:35AM +0930, Alan Modra wrote: > looking at gcc/*.o I haven't yet seen any regressions in code quality.) Well that didn't last very long. There are regressions, and just from looking at disassembled object files it would appear to be frame pointer related. So the sim

Re: [PATCH] Don't combine param and return value copies

2015-05-24 Thread Alan Modra
On Sat, May 23, 2015 at 08:45:23AM -0500, Segher Boessenkool wrote: > Thanks. Did you see improvements around return as well, or mostly / > only related to the function start? The rlwinm vs. rldicl change was in dwarf2out.c add_ranges_num for r3 one insn before a blr. I'm sure that was due to no

Re: [PATCH] Don't combine param and return value copies

2015-05-23 Thread Segher Boessenkool
Hi Alan, On Sat, May 23, 2015 at 06:03:05PM +0930, Alan Modra wrote: > This stops combine messing with parameter and return value copies > from/to hard registers. Bootstrapped and regression tested > powerpc64le-linux, powerpc64-linux and x86_64-linux. In looking at a > number of different power

Re: [PATCH] Don't combine param and return value copies

2015-05-23 Thread Andrew Pinski
On Sat, May 23, 2015 at 1:33 AM, Alan Modra wrote: > This stops combine messing with parameter and return value copies > from/to hard registers. Bootstrapped and regression tested > powerpc64le-linux, powerpc64-linux and x86_64-linux. In looking at a > number of different powerpc64le gcc/*.o fil

[PATCH] Don't combine param and return value copies

2015-05-23 Thread Alan Modra
This stops combine messing with parameter and return value copies from/to hard registers. Bootstrapped and regression tested powerpc64le-linux, powerpc64-linux and x86_64-linux. In looking at a number of different powerpc64le gcc/*.o files, I noticed a few code generation improvements. There wer