https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102162
--- Comment #15 from Andrew Pinski <pinskia at gcc dot gnu.org> --- The trunk works: .LEVEL 1.1 .text .align 4 .globl test .type test, @function test: .PROC .CALLINFO FRAME=0,NO_CALLS .ENTRY addil LR'output_len-$global$,%r27 ldo RR'output_len-$global$(%r1),%r20 ldb RR'output_len-$global$(%r1),%r28 zdep %r28,7,8,%r28 ldb 1(%r20),%r19 zdep %r19,15,16,%r19 or %r19,%r28,%r19 ldb 2(%r20),%r28 zdep %r28,23,24,%r28 or %r28,%r19,%r28 ldb 3(%r20),%r19 bv %r0(%r2) or %r19,%r28,%r28 .EXIT .PROCEND .size test, .-test .ident "GCC: (GNU) 12.0.0 20210901 (experimental)"