https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101426
--- Comment #1 from Andreas Krebbel <krebbel at gcc dot gnu.org> --- Created attachment 51136 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=51136&action=edit Experimental Fix With this patch the address is copied to a pseudo first. That way the register allocator will sort out the dependencies resulting in the following code being generated: lgr %r2,%r3 lgr %r3,%r4 lgr %r4,%r5 jg _ZN1r6NSPACE6AShrOp5buildERNS_9OpBuilderERNS_14OperationStateENS_10ValueRangeEN6nspace8ArrayRefISt4pairINS_10IdentifierENS_9AttributeEEEE.constprop.0