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