https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77921
--- Comment #3 from Markus Trippelsdorf <trippels at gcc dot gnu.org> --- markus@x4 crafty % gcc -Wall -Wno-array-bounds -pipe -O3 -pthread -DSYZYGY -DTEST -DCPUS=4 -DUNIX -c crafty.c 61.88% cc1 [.] release_defs 2.01% libc-2.24.90.so [.] strcmp 1.83% libc-2.24.90.so [.] _int_malloc │ Disassembly of section .text: │ │ 0000000000897897 <release_defs(gimple*) [clone .cold.41]>: │ _Z12release_defsP6gimple.cold.41(): │ mov stderr,%rdi │ mov %r15,%rsi │ → callq verify_imm_links(_IO_FILE*, tree_node*) │ ↓ jmpq 120 │ mov 0x8(%rsp),%edx │ shl $0x3,%rdx │1c: mov 0x8(%rsp),%r15d │ mov 0x4(%rsp),%esi │ cmp %esi,%r15d │ ↓ je 248 │ inc %r15d │ lea (%rbx,%rdx,1),%rdi │ add $0x8,%rdx │ mov %r15d,0x8(%rsp) │ mov (%rdi,%r8,1),%r15 │ test %r15,%r15 │ ↓ jne 3c3 │ ↑ jmp 1c │ movzbl 0x49(%rdi),%edx │ mov 0x30(%rdi),%r15 │ test %r15,%r15 │ mov %edx,0x4(%rsp) │ ↑ je 3f │ movl $0x0,0x8(%rsp) │ movl $0x2,0xc(%rsp) │ ↓ jmpq 419 100.00 │77:└─→jmp 77 │ mov 0x30(%rdi),%r15 │ test %r15,%r15 │ ↓ je 248 │ movl $0x0,0x4(%rsp) │ movl $0x0,0x8(%rsp) │ movl $0x0,0xc(%rsp) │ ↓ jmpq 419 │ mov 0x8(%rsp),%edx │ ↑ jmpq 41 │ mov %ebp,0x8(%rsp) │ ↓ jmpq 1cb │ mov 0x20(%r15),%r15 │ movzwl (%r15),%r11d │ ↓ jmpq 220 │ mov %ebp,%r10d │ shl $0x3,%r10 │c9: cmp 0x4(%rsp),%ebp │ ↓ je e8 │ lea (%rbx,%r10,1),%r15 │ inc %ebp │ add $0x8,%r10 │ mov (%r15,%r12,1),%r15 │ test %r15,%r15 │ ↓ jne 211 │ ↑ jmp c9 │e8: ↓ jmpq 248