http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54133
--- Comment #8 from amker.cheng 2012-09-25
07:45:02 UTC ---
I have spent some time investigating this bug and now I think I understand the
issue.
The problematic instruction patterns which save/restore argument/return
registers is gener
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54133
--- Comment #7 from amker.cheng 2012-08-02
10:18:41 UTC ---
(In reply to comment #6)
> > In experiment, if I disable r0/r1 from renaming, most regressions observed
> > in
> > CSiBE are gone.
> >
> > So how should this be fixed? Thanks.
>
> The
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54133
Eric Botcazou changed:
What|Removed |Added
CC||ebotcazou at gcc dot
|
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54133
--- Comment #5 from amker.cheng 2012-08-01
13:48:50 UTC ---
Thanks for your patch, IMHO, I don't think the problem could be fixed in this
way, because:
1.
78 r177:DF=r0:DF
80 [sp:SI]=r166:DF
81 [sp:SI+0x8]=r168:DF
82 [sp:SI+0x10]=r17
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54133
--- Comment #4 from Steven Bosscher 2012-08-01
11:58:00 UTC ---
Created attachment 27918
--> http://gcc.gnu.org/bugzilla/attachment.cgi?id=27918
Hack regmove to do limited propagation of hard regs
I have a patch to make the propagation happen
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54133
--- Comment #3 from Steven Bosscher 2012-08-01
10:13:32 UTC ---
With "GCC: (GNU) 4.8.0 20120731 (experimental) [trunk revision 190015]" the
dumps look slightly different. I'm using the -fdump-rtl-all-slim dumps (with a
local patch to dump SEQUENC
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54133
--- Comment #2 from amker.cheng 2012-08-01
07:49:51 UTC ---
I measured this kind of regression in benchmark CSiBE on
arm-none-eabi/cortex-m0 with Os optimization. Turns out most of the them are
relate to paramter/return register moving, like the
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54133
Steven Bosscher changed:
What|Removed |Added
Status|UNCONFIRMED |NEW
Last reconfirmed|