https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108498
--- Comment #8 from Adam Stylinski <kungfujesus06 at gmail dot com> ---
Here's the code GCC emits:
00000000100007a0 <.emit_test>:
100007a0: 7c 08 02 a6 mflr r0
100007a4: fb e1 ff f8 std r31,-8(r1)
100007a8: 3d 42 ff fe addis r10,r2,-2
100007ac: 81 4a 8a 08 lwz r10,-30200(r10)
100007b0: 38 80 00 00 li r4,0
100007b4: 39 20 00 00 li r9,0
100007b8: 39 60 00 01 li r11,1
100007bc: 38 c0 00 02 li r6,2
100007c0: 38 e0 00 04 li r7,4
100007c4: 79 4a c1 e4 sldi r10,r10,24
100007c8: 39 00 00 08 li r8,8
100007cc: 38 a0 00 44 li r5,68
100007d0: f8 01 00 10 std r0,16(r1)
100007d4: f8 21 ff 31 stdu r1,-208(r1)
100007d8: 3c 00 02 00 lis r0,512
100007dc: 60 00 ff 03 ori r0,r0,65283
100007e0: 78 00 07 c6 sldi r0,r0,32
100007e4: 64 00 00 01 oris r0,r0,1
100007e8: 60 00 02 03 ori r0,r0,515
100007ec: eb ed 8f f0 ld r31,-28688(r13)
100007f0: fb e1 00 b8 std r31,184(r1)
100007f4: 3b e0 00 00 li r31,0
100007f8: f8 81 00 a8 std r4,168(r1)
100007fc: 38 81 00 74 addi r4,r1,116
10000800: f9 41 00 b0 std r10,176(r1)
10000804: 99 21 00 80 stb r9,128(r1)
10000808: 99 21 00 88 stb r9,136(r1)
1000080c: 7c 7f 1b 78 mr r31,r3
10000810: 99 21 00 a8 stb r9,168(r1)
10000814: 91 21 00 ac stw r9,172(r1)
10000818: f8 01 00 74 std r0,116(r1)
1000081c: 91 61 00 84 stw r11,132(r1)
10000820: 90 c1 00 8c stw r6,140(r1)
10000824: 98 e1 00 98 stb r7,152(r1)
10000828: 91 01 00 9c stw r8,156(r1)
1000082c: 4b ff fd 15 bl 10000540
<0000003b.plt_call.memcpy@@GLIBC_2.3>
10000830: e8 41 00 28 ld r2,40(r1)
10000834: e9 41 00 b8 ld r10,184(r1)
10000838: e9 2d 8f f0 ld r9,-28688(r13)
1000083c: 7d 4a 4a 79 xor. r10,r10,r9
10000840: 39 20 00 00 li r9,0
10000844: 40 82 00 1c bne 10000860 <.emit_test+0xc0>
10000848: 38 21 00 d0 addi r1,r1,208
1000084c: 7f e3 fb 78 mr r3,r31
10000850: e8 01 00 10 ld r0,16(r1)
10000854: eb e1 ff f8 ld r31,-8(r1)
10000858: 7c 08 03 a6 mtlr r0
1000085c: 4e 80 00 20 blr
10000860: 4b ff fd 41 bl 100005a0
<0000003b.plt_call.__stack_chk_fail@@GLIBC_2.4>
10000864: e8 41 00 28 ld r2,40(r1)
10000868: 00 00 00 00 .long 0x0
1000086c: 00 00 00 01 .long 0x1
10000870: 80 01 00 00 lwz r0,0(r1)
10000874: 60 00 00 00 nop
10000878: 00 00 00 00 .long 0x0
1000087c: 00 01 f7 78 .long 0x1f778