https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82848
Bug ID: 82848 Summary: [8 Regression] ICE in expand_expr_real_2, at expr.c:8715 Product: gcc Version: 7.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: marxin at gcc dot gnu.org CC: segher at gcc dot gnu.org Target Milestone: --- Host: x86_64-pc-linux-gnu Target: ppc64-linux-gnu Following ICEs: $ ppc64-linux-gnu-gcc /home/marxin/Programming/gcc/gcc/testsuite/gcc.target/powerpc/pr37168.c during RTL pass: expand /home/marxin/Programming/gcc/gcc/testsuite/gcc.target/powerpc/pr37168.c: In function ‘foo’: /home/marxin/Programming/gcc/gcc/testsuite/gcc.target/powerpc/pr37168.c:12:16: internal compiler error: in expand_expr_real_2, at expr.c:8715 vector float b = __builtin_vec_madd (b, a, (vector float) { C, C, C, C }); ^ 0x82d5d9 expand_expr_real_2(separate_ops*, rtx_def*, machine_mode, expand_modifier) .././../gcc/expr.c:8715 0x6ffa69 expand_gimple_stmt_1 .././../gcc/cfgexpand.c:3712 0x6ffa69 expand_gimple_stmt .././../gcc/cfgexpand.c:3773 0x70132f expand_gimple_basic_block .././../gcc/cfgexpand.c:5774 0x706d36 execute .././../gcc/cfgexpand.c:6375 Note that GCC 7.1 did: $ powerpc64-suse-linux-gcc-7 /home/marxin/Programming/gcc/gcc/testsuite/gcc.target/powerpc/pr37168.c -c /home/marxin/Programming/gcc/gcc/testsuite/gcc.target/powerpc/pr37168.c: In function 'foo': /home/marxin/Programming/gcc/gcc/testsuite/gcc.target/powerpc/pr37168.c:12:16: error: Builtin function __builtin_altivec_vmaddfp requires the -maltivec option vector float b = __builtin_vec_madd (b, a, (vector float) { C, C, C, C }); ^ So the error somehow disappeared.