This is the mail archive of the gcc-patches@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]

Re: rs6000: Some fixes for bswapdi


On Tue, Sep 08, 2009 at 09:47:06PM +0200, Segher Boessenkool wrote:
> For a memory reference like [A+B], the splitters for bswapdi should
> split this to SI [A+B] and [(A+4)+B]; the code however does [B] and
> [(A+4)+B].  This actually ICEd (on a default Linux kernel build)
> because B was r0.
> 
> Also changes some of the register constraints which used "b" while
> they could be "r".
> 
> Also fixes a few instances where TARGET_32BIT used 64-bit math for
> addresses.
> 
> Bootstrapped and tested on powerpc64-linux, no regressions.  Okay
> to apply?
> 
> 	2009-09-08  Segher Boessenkool  <segher@kernel.crashing.org>
> 
> 		* config/rs6000/rs6000.md (bswapdi2_64bit): Fix
> 		unnecessarily stringent constraints.  Fix address
> 		calculation in the splitters.

I'm still waiting for the make check to finish (but so far, there are no extra
failures).

I took your patches, and fixed some of the TARGET_POWERPC64 issues that I had
in my original code.  Assuming there are no additional regressions, is this ok
to apply?

-- 
Michael Meissner, IBM
4 Technology Place Drive, MS 2203A, Westford, MA, 01886, USA
meissner@linux.vnet.ibm.com

Attachment: bswap.patch03
Description: Text document


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