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

Alan Modra <amodra at gmail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|---                         |4.8.0

--- Comment #2 from Alan Modra <amodra at gmail dot com> 2012-07-24 12:43:23 
UTC ---
The x+32768 assembly is fixed, but errors remain.  If you change the testcase
slightly, substituting 32764 with a smaller value, 2764 say, then r() accesses
x.d with an indirect address while w() does so using a lo_sum with an offset. 
This is wrong if the extern x is such that d straddles a 32k boundary.  In the
case of r(), the indirect address is generated in rs6000_split_multireg_move. 
It seems the fix for pr42427 specifically excluded lo_sum addresses, but if I
read the diff correctly, before that patch they were split.

Reply via email to