https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115397
--- Comment #1 from Sergei Trofimovich <slyfox at gcc dot gnu.org> --- Debug build of the compiler is slightly more informative: $ gcc -std=c99 -O3 -mavx512f -c bug.c.c -m32 -fPIC -fchecking=2 during RTL pass: split1 bug.c.c: In function 'LONG_divide_AVX512F': bug.c.c:14:1: internal compiler error: RTL flag check: CONSTANT_POOL_ADDRESS_P used with unexpected rtx code 'plus' in get_pool_constant, at varasm.cc:4046 14 | } | ^ 0x806828 rtl_check_failed_flag(char const*, rtx_def const*, char const*, int, char const*) ../../source/gcc/rtl.cc:853 0x88fa27 get_pool_constant(rtx_def const*) ../../source/gcc/varasm.cc:4046 0x15e2829 ix86_broadcast_from_constant(machine_mode, rtx_def*) ../../source/gcc/config/i386/i386-expand.cc:612 0x16061be ix86_expand_ternlog(machine_mode, rtx_def*, rtx_def*, rtx_def*, int, rtx_def*) ../../source/gcc/config/i386/i386-expand.cc:26045 0x1cddbd5 gen_split_1548(rtx_insn*, rtx_def**) ../../source/gcc/config/i386/sse.md:13050 0x20fa245 split_75 ../../source/gcc/config/i386/sse.md:13044 0x20fa245 split_79 ../../source/gcc/config/i386/sse.md:14592 0xc220eb try_split(rtx_def*, rtx_insn*, int) ../../source/gcc/emit-rtl.cc:3941 0x100f217 split_insn ../../source/gcc/recog.cc:3405 0x1015077 split_all_insns() ../../source/gcc/recog.cc:3509 0x1015128 execute ../../source/gcc/recog.cc:4433