This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH, rs6000] Emit correct note for DWARF CFI information on LE prolog VSX stores
- From: David Edelsohn <dje dot gcc at gmail dot com>
- To: Bill Schmidt <wschmidt at linux dot vnet dot ibm dot com>
- Cc: GCC Patches <gcc-patches at gcc dot gnu dot org>
- Date: Sun, 17 Nov 2013 07:55:28 -0500
- Subject: Re: [PATCH, rs6000] Emit correct note for DWARF CFI information on LE prolog VSX stores
- Authentication-results: sourceware.org; auth=none
- References: <1384659138 dot 8213 dot 175 dot camel at gnopaine>
On Sat, Nov 16, 2013 at 10:32 PM, Bill Schmidt
<wschmidt@linux.vnet.ibm.com> wrote:
> Hi,
>
> For VSX in little endian we currently split vector register stores into
> a permute/store pair. For prolog stores, this results in a
> REG_FRAME_RELATED_EXPR note that doesn't have a simple register for its
> RHS, which it needs to have. This patch detects that situation and
> ensures we produce the correct note.
>
> This problem was breaking bootstrap when configured with
> --with-cpu=power7, something we hadn't tried before. With the patch we
> now get past stage 1. There is at least one wrong-code bug to track
> down in stage 2, but modifying this note is clearly not involved with
> that.
>
> Otherwise bootstrapped and tested on powerpc64-unknown-linux-gnu with no
> regressions on the big-endian side, also bootstrapped with
> --with-cpu=power7. Is this ok for trunk?
>
> Thanks,
> Bill
>
>
> 2011-11-16 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
>
> * config/rs6000/rs6000.c (rs6000_frame_related): Add split_reg
> parameter and use it in REG_FRAME_RELATED_EXPR note.
> (emit_frame_save): Call rs6000_frame_related with extra NULL_RTX
> parameter.
> (rs6000_emit_prologue): Likewise, but for little endian VSX
> stores, pass the source register of the store instead.
Okay.
Thanks, David