[Bug target/41021] [ARM] Suboptimal code generated to store a struct

2009-09-01 Thread jamborm at gcc dot gnu dot org


--- Comment #4 from jamborm at gcc dot gnu dot org  2009-09-01 14:01 ---
Indeed. SRA should not trigger here, that would make it too eager in other
cases (thus I'm removing myself from the CC, feel free to add me again if
there's any discussion that might concern me or SRA again).


-- 

jamborm at gcc dot gnu dot org changed:

   What|Removed |Added

 CC|jamborm at gcc dot gnu dot  |
   |org |


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41021



[Bug target/41021] [ARM] Suboptimal code generated to store a struct

2009-08-10 Thread steven at gcc dot gnu dot org


--- Comment #2 from steven at gcc dot gnu dot org  2009-08-10 07:16 ---
SRA expert - CC


-- 

steven at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||jamborm at gcc dot gnu dot
   ||org
 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2009-08-10 07:16:06
   date||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41021



[Bug target/41021] [ARM] Suboptimal code generated to store a struct

2009-08-10 Thread rguenth at gcc dot gnu dot org


--- Comment #3 from rguenth at gcc dot gnu dot org  2009-08-10 09:07 ---
There is only one struct copy, so it isn't SRAs business to optimize anything
here.  Instead the burden is put on expand and the backend to figure out the
most efficient way to do this block copy.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41021



[Bug target/41021] [ARM] Suboptimal code generated to store a struct

2009-08-09 Thread wiml at hhhh dot org


--- Comment #1 from wiml at  dot org  2009-08-10 05:18 ---
Workaround notes:

Changing the structure assignment to multiple assignments, one for each field,
produces noticeably better code; and changing the argument list to pass the
structure fields individually produces code that looks good to me (even though
the same values are passed in the same registers). So I guess this is a missed
opportunity for SRA.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41021