https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85852
Bug ID: 85852 Summary: ICE: Segmentation fault (in contains_struct_check) Product: gcc Version: 9.0 Status: UNCONFIRMED Keywords: ice-on-valid-code Severity: normal Priority: P3 Component: rtl-optimization Assignee: unassigned at gcc dot gnu.org Reporter: asolokha at gmx dot com Target Milestone: --- gcc-9.0.0-alpha20180520 snapshot (r260425) ICEs when compiling the following snippet w/ -mfma -O2 (-O3, -Os) -fexceptions -fnon-call-exceptions: void q3 (double mo) { mo = (mo / 0.0) * mo - mo; } % gcc-9.0.0-alpha20180520 -mfma -O2 -fexceptions -fnon-call-exceptions -c hpyrkugn.c during RTL pass: expand hpyrkugn.c: In function 'q3': hpyrkugn.c:4:6: internal compiler error: Segmentation fault mo = (mo / 0.0) * mo - mo; ~~~^~~~~~~~~~~~~~~~~~~~~~ 0xc9b59f crash_signal /var/tmp/portage/sys-devel/gcc-9.0.0_alpha20180520/work/gcc-9-20180520/gcc/toplev.c:325 0xa95733 contains_struct_check(tree_node*, tree_node_structure_enum, char const*, int, char const*) /var/tmp/portage/sys-devel/gcc-9.0.0_alpha20180520/work/gcc-9-20180520/gcc/tree.h:3248 0xa95733 expand_direct_optab_fn /var/tmp/portage/sys-devel/gcc-9.0.0_alpha20180520/work/gcc-9-20180520/gcc/internal-fn.c:2894 0x87e757 expand_call_stmt /var/tmp/portage/sys-devel/gcc-9.0.0_alpha20180520/work/gcc-9-20180520/gcc/cfgexpand.c:2598 0x87e757 expand_gimple_stmt_1 /var/tmp/portage/sys-devel/gcc-9.0.0_alpha20180520/work/gcc-9-20180520/gcc/cfgexpand.c:3644 0x87e757 expand_gimple_stmt /var/tmp/portage/sys-devel/gcc-9.0.0_alpha20180520/work/gcc-9-20180520/gcc/cfgexpand.c:3810 0x87fd9c expand_gimple_tailcall /var/tmp/portage/sys-devel/gcc-9.0.0_alpha20180520/work/gcc-9-20180520/gcc/cfgexpand.c:3856 0x87fd9c expand_gimple_basic_block /var/tmp/portage/sys-devel/gcc-9.0.0_alpha20180520/work/gcc-9-20180520/gcc/cfgexpand.c:5812 0x884837 execute /var/tmp/portage/sys-devel/gcc-9.0.0_alpha20180520/work/gcc-9-20180520/gcc/cfgexpand.c:6441 This is not target-specific and also reproduces on powerpc (w/ appropriate -mcpu) at least.