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: powerpc patch 1 of 9


Alan Modra <amodra@bigpond.net.au> writes:

> It's time I contributed back some of the fixes I've been making to
> gcc for IBM people working on PowerPC64 linux.
> 
> This is part 1 of 9.  The whole group has been bootstrapped and
> regression tested on powerpc-linux.
> 
> After back-porting 3.1 handling of const_ints to 3.0, I noticed a
> number of places where ppc64 linux kernel code got worse.  Tracked
> these down to sign extension of negative SImode constants.
> 
> 	* config/rs6000/rs6000.c (u_short_cint_operand): Mask off
> 	irrelevant bits before testing with 'K' constraint.
> 	(includes_lshift_p): Mask irrelevant bits of SImode const_int.
> 	(includes_rshift_p): Likewise.

These seem to be optimising for cases that shouldn't be happening.
Can you find out where these constants are being generated and fix it
there instead?


-- 
- Geoffrey Keating <geoffk@geoffk.org> <geoffk@redhat.com>


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