This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug tree-optimization/42587] bswap not recognized for memory



------- Comment #4 from jamborm at gcc dot gnu dot org  2010-01-06 14:07 -------
(In reply to comment #2)
> SRA here again does somthing stupid:
> 

As I have already told richi on IRC, if "in.value = value_1(D)" was an
assignment of two unions, it would have loaded the chars from the rhs
and thus make the union unnecessary.  But it cannot get the chars from
the RHS as it is now and so uses the union to do the type conversion.

I see no way to avoid this other than a third SRA scan of the entire
function to catch cases like this and not pessimize other situations.
I have put this to the bottom of my TODO list nevertheless, just in
case, but will remove myself from the CC list as the main bug is
something entirely different.  Feel free to add me if there is
anything else I should be aware of.  Thanks.


-- 

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=42587


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]