https://gcc.gnu.org/bugzilla/show_bug.cgi?id=39429
Ramana Radhakrishnan changed:
What|Removed |Added
Status|NEW |RESOLVED
CC|
--- Comment #9 from mikpe at it dot uu dot se 2009-07-13 13:07 ---
Created an attachment (id=18186)
--> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=18186&action=view)
fix arith_adjacentmem LDM splitting code
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39429
--- Comment #8 from mikpe at it dot uu dot se 2009-07-13 13:05 ---
Mystery solved. Buried in revision 146451, which should just fix enum
conversions for C++ compatibility, is the following bug fix:
--- trunk/gcc/config/arm/arm.c 2009/04/20 19:30:55 146450
+++ trunk/gcc/config/arm/a
--- Comment #7 from mikpe at it dot uu dot se 2009-07-12 23:58 ---
Revision 146451 on 4.5 changed it from generating broken code to generating
not-so-broken code. That's completely unexpected since that revision is a
enable-bootstrap-with-c++ thing which isn't supposed to change any beha
--- Comment #6 from mikpe at it dot uu dot se 2009-07-12 21:21 ---
(In reply to comment #5)
> What options did you use ? Did you use -O2 , -O3 or -Os with the testcase
> you've added here ? I don't see the problem with 4.5.0 trunk 149479 with
> either
> -mcpu=arm740t or with arm7tdmi
--- Comment #5 from ramana at gcc dot gnu dot org 2009-07-12 20:51 ---
(In reply to comment #4)
> Created an attachment (id=18179)
--> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=18179&action=view) [edit]
> reduced test case in plain C
>
What options did you use ? Did you use -O2
--- Comment #4 from mikpe at it dot uu dot se 2009-07-12 11:29 ---
Created an attachment (id=18179)
--> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=18179&action=view)
reduced test case in plain C
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39429
--- Comment #3 from mikpe at it dot uu dot se 2009-07-11 20:20 ---
It seems that cpu type and tuning options make a difference here. If I compile
with -mcpu and -mtune referring to a cpu that does not imply FL_LDSCHED, such
as arm740t, then I get the broken code that clobbers r0 before l
--
rearnsha at gcc dot gnu dot org changed:
What|Removed |Added
Keywords||wrong-code
Priority|P3 |P2
http