https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63600

            Bug ID: 63600
           Summary: ice in ix86_expand_sse2_abs
           Product: gcc
           Version: 5.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c
          Assignee: unassigned at gcc dot gnu.org
          Reporter: dcb314 at hotmail dot com

Created attachment 33760
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=33760&action=edit
C source code

I just tried to compile the attached code
on gcc trunk dated 20141019 on an AMD x86_64 box.

The compiler said

bug168.c: In function ‘long_unary_op’:
bug168.c:11345:32: internal compiler error: in ix86_expand_sse2_abs, at
config/i386/i386.c:45977
  for (n = 0; n < na; n++) b[n] = (((a[n]) >= 0) ? (a[n]) : -(a[n]));
                                ^
0xf9ff5e ix86_expand_sse2_abs(rtx_def*, rtx_def*)
    ../../src/trunk/gcc/config/i386/i386.c:45977
0x10c707a gen_absv2di2(rtx_def*, rtx_def*)
    ../../src/trunk/gcc/config/i386/sse.md:13834
0xb1dc09 insn_gen_fn::operator()(rtx_def*, rtx_def*) const
    ../../src/trunk/gcc/recog.h:308
0xb1dc09 maybe_gen_insn(insn_code, unsigned int, expand_operand*)
    ../../src/trunk/gcc/optabs.c:8348
0xb1dc09 expand_unop_direct

Flag -O3 required. The attached code is the same source
code was provided for bug #53749.

Reply via email to