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.

Reply via email to