This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH 2/6] rs6000: Do not allow lo_sum accesses >= 4 bytes if unaligned
- From: David Edelsohn <dje dot gcc at gmail dot com>
- To: Segher Boessenkool <segher at kernel dot crashing dot org>
- Cc: GCC Patches <gcc-patches at gcc dot gnu dot org>
- Date: Sat, 17 Jan 2015 09:30:07 -0500
- Subject: Re: [PATCH 2/6] rs6000: Do not allow lo_sum accesses >= 4 bytes if unaligned
- Authentication-results: sourceware.org; auth=none
- References: <cover dot 1421482716 dot git dot segher at kernel dot crashing dot org> <56efdbfb9f698d499feb87587d98c7cb47185d1b dot 1421482716 dot git dot segher at kernel dot crashing dot org>
On Sat, Jan 17, 2015 at 3:48 AM, Segher Boessenkool
<segher@kernel.crashing.org> wrote:
> This fixes 29 FAILs.
>
> The ld, lwa etc. insns do not encode the low two bits of the offset in
> the opcode; those have to be zero. For -m64 this seemed to never matter,
> datums are always aligned; but for -m32 -mpowerpc64 you can get symbols
> that are not sufficiently aligned. So check for that.
>
> [ Hrm, I think this triggers for lwz as well? I'll investigate. ]
>
>
> 2015-01-16 Segher Boessenkool <segher@kernel.crashing.org>
>
> gcc/
> * config/rs6000/rs6000.c (lo_sum_symbol_misaligned_p): New function.
> (legitimate_lo_sum_address_p): Use it for TARGET_POWERPC64.
Okay.
Thanks, David