On Wed, Jul 03, 2024 at 02:21:25PM +0200, Richard Biener wrote:
> I'm re-testing the following.
> 
> Richard.
> 
> >From 40023cac83562a1451aba550533d042fec1c144e Mon Sep 17 00:00:00 2001
> From: Richard Biener <rguent...@suse.de>
> Date: Tue, 11 Jun 2024 13:11:08 +0200
> Subject: [PATCH] middle-end/115426 - wrong gimplification of "rm" asm output
>  operand
> To: gcc-patches@gcc.gnu.org
> 
> When the operand is gimplified to an extract of a register or a
> register we have to disallow memory as we otherwise fail to
> gimplify it properly.  Instead of
> 
>   __asm__("" : "=rm" __imag <r>);
> 
> we want
> 
>   __asm__("" : "=rm" D.2772);
>   _1 = REALPART_EXPR <r>;
>   r = COMPLEX_EXPR <_1, D.2772>;
> 
> otherwise SSA rewrite will fail and generate wrong code with 'r'
> left bare in the asm output.
> 
>       PR middle-end/115426
>       * gimplify.cc (gimplify_asm_expr): Handle "rm" output
>       constraint gimplified to a register (operation).
> 
>       * gcc.dg/pr115426.c: New testcase.

LGTM, thanks.

        Jakub

Reply via email to