https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85574
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Priority|P3 |P2 Target Milestone|9.0 |8.3 Summary|[9 Regression] LTO |[8/9 Regression] LTO |bootstapped binaries differ |bootstapped binaries differ --- Comment #13 from Richard Biener <rguenth at gcc dot gnu.org> --- -fno-reorder-blocks-and-partition does not help. @@ -115230,59624 +115230,59628 @@ 5e1fa6: 44 88 74 24 18 mov %r14b,0x18(%rsp) 5e1fab: e9 77 f7 ff ff jmpq 5e1727 <_Z14composite_typeP9tree_nodeS0_.part.56+0x4c7> 5e1fb0: 80 7c 24 27 00 cmpb $0x0,0x27(%rsp) - 5e1fb5: 75 17 jne 5e1fce <_Z14composite_typeP9tree_nodeS0_.part.56+0xd6e> - 5e1fb7: 31 c0 xor %eax,%eax - 5e1fb9: 0f b6 4c 24 27 movzbl 0x27(%rsp),%ecx - 5e1fbe: 45 31 ff xor %r15d,%r15d - 5e1fc1: 88 44 24 27 mov %al,0x27(%rsp) - 5e1fc5: 88 4c 24 10 mov %cl,0x10(%rsp) - 5e1fc9: e9 59 f7 ff ff jmpq 5e1727 <_Z14composite_typeP9tree_nodeS0_.part.56+0x4c7> - 5e1fce: 48 89 df mov %rbx,%rdi - 5e1fd1: 4c 89 5c 24 10 mov %r11,0x10(%rsp) - 5e1fd6: e8 f5 8c fa ff callq 58acd0 <_Z12c_vla_type_pPK9tree_node> - 5e1fdb: 4c 8b 5c 24 10 mov 0x10(%rsp),%r11 - 5e1fe0: 88 44 24 27 mov %al,0x27(%rsp) - 5e1fe4: b8 01 00 00 00 mov $0x1,%eax - 5e1fe9: eb ce jmp 5e1fb9 <_Z14composite_typeP9tree_nodeS0_.part.56+0xd59> - 5e1feb: 45 31 c9 xor %r9d,%r9d ... - 5e26b6: 66 2e 0f 1f 84 00 00 nopw %cs:0x0(%rax,%rax,1) - 5e26bd: 00 00 00 - -00000000005e26c0 <_ZL19common_pointer_typeP9tree_nodeS0_>: - 5e26c0: 48 39 f7 cmp %rsi,%rdi - 5e26c3: 0f 84 07 02 00 00 je 5e28d0 <_ZL19common_pointer_typeP9tree_nodeS0_+0x210> - 5e26c9: 48 8b 05 10 18 91 01 mov 0x1911810(%rip),%rax # 1ef3ee0 <global_trees> - 5e26d0: 48 39 f8 cmp %rdi,%rax ... - -00000000005e2a30 <_Z14composite_typeP9tree_nodeS0_>: - 5e2a30: 48 39 f7 cmp %rsi,%rdi - 5e2a33: 74 1b je 5e2a50 <_Z14composite_typeP9tree_nodeS0_+0x20> - 5e2a35: 48 8b 05 a4 14 91 01 mov 0x19114a4(%rip),%rax # 1ef3ee0 <global_trees> - 5e2a3c: 48 39 f8 cmp %rdi,%rax - 5e2a3f: 74 1f je 5e2a60 <_Z14composite_typeP9tree_nodeS0_+0x30> - 5e2a41: 48 39 f0 cmp %rsi,%rax - 5e2a44: 74 0a je 5e2a50 <_Z14composite_typeP9tree_nodeS0_+0x20> - 5e2a46: e9 15 e8 ff ff jmpq 5e1260 <_Z14composite_typeP9tree_nodeS0_.part.56> - 5e2a4b: 0f 1f 44 00 00 nopl 0x0(%rax,%rax,1) - 5e2a50: 48 89 f8 mov %rdi,%rax + 5e1fb5: 75 0d jne 5e1fc4 <_Z14composite_typeP9tree_nodeS0_.part.56+0xd64> + 5e1fb7: c6 44 24 10 00 movb $0x0,0x10(%rsp) + 5e1fbc: 45 31 ff xor %r15d,%r15d + 5e1fbf: e9 63 f7 ff ff jmpq 5e1727 <_Z14composite_typeP9tree_nodeS0_.part.56+0x4c7> + 5e1fc4: 48 89 df mov %rbx,%rdi + 5e1fc7: 4c 89 5c 24 28 mov %r11,0x28(%rsp) + 5e1fcc: e8 ff 8c fa ff callq 58acd0 <_Z12c_vla_type_pPK9tree_node> + 5e1fd1: 4c 8b 5c 24 28 mov 0x28(%rsp),%r11 + 5e1fd6: 88 44 24 10 mov %al,0x10(%rsp) Btw, I see the same issue on the GCC 8 branch head. Have yet to find where it actually doesn't miscompare so maybe it isn't a regression after all.