https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90378
Bug ID: 90378 Summary: [9 regression] -Os -flto miscompiles 454.calculix after r266385 on Arm Product: gcc Version: 9.1.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: rtl-optimization Assignee: unassigned at gcc dot gnu.org Reporter: mkuvyrkov at gcc dot gnu.org Target Milestone: --- I'm investigating a miscompilation of 454.calculix, which occurs only with LTO on ARMv7. Miscompilation results in SIGSEGV and seems to occur only on ARMv7 hardware (cortex-a15), same binary runs fine on ARMv8 hardware. Miscompilation occurs at and after === commit 8fc3599dcab36e0b905fa442c0fc0a905280eea2 (HEAD) Author: vmakarov <vmakarov@138bc75d-0d04-0410-961f-82ee72b054a4> Date: Thu Nov 22 17:25:57 2018 +0000 2018-11-22 Vladimir Makarov <vmaka...@redhat.com> PR rtl-optimization/87718 * ira-costs.c: Remove trailing white-spaces. (record_operand_costs): Add a special treatment for moves involving a hard register. 2018-11-22 Vladimir Makarov <vmaka...@redhat.com> PR rtl-optimization/87718 * gcc.target/i386/pr82361-1.c: Check only the first operand of moves. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@266385 138bc75d-0d04-0410-961f-82ee72b054a4 === but I do not have hard evidence that this patch is the root cause. It may be triggering a latent bug or even exposing undefined behavior in the benchmark. I'm struggling to reduce the 300-object LTO compilation down to something manageable. Advice and ideas on where to look are appreciated.