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

            Bug ID: 96186
           Summary: [11 regressoion] ICE: Unrecognizable insn since
                    r11-1970-fab263ab0fc10ea08409b80afa7e8569438b8d28
           Product: gcc
           Version: 11.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: wwwhhhyyy333 at gmail dot com
  Target Milestone: ---

A testcase extracted from 510.parest_r

#include <math.h>

double square(double d[3], double rad)
{
  double res[3];

  for (int i = 0; i < 3; i++)
    {
      res[i] = d[i] * d[i];
      res[i] *= rad/sqrt(res[i]);
    }

  return res[0];
}

Compile with -march=skylake-avx512 -funroll-loops -Ofast

sqrt.c: In function ‘square’:
sqrt.c:14:1: error: unrecognizable insn:
   14 | }
      | ^
(insn 12 11 13 2 (set (reg:V2DF 93)
        (unspec:V2DF [
                (reg:V2DF 84 [ vect_powmult_5.8 ])
            ] UNSPEC_RSQRT)) "sqrt.c":10:21 -1
     (nil))
during RTL pass: vregs
sqrt.c:14:1: internal compiler error: in extract_insn, at recog.c:2294
0x6e11f9 _fatal_insn(char const*, rtx_def const*, char const*, int, char
const*)
        /export/users2/hongyuw1/gcc/gcc/./gcc/rtl-error.c:108
0x6e1215 _fatal_insn_not_found(rtx_def const*, char const*, int, char const*)
        /export/users2/hongyuw1/gcc/gcc/./gcc/rtl-error.c:116
0x6df72f extract_insn(rtx_insn*)
        /export/users2/hongyuw1/gcc/gcc/./gcc/recog.c:2294
0xafd213 instantiate_virtual_regs_in_insn
        /export/users2/hongyuw1/gcc/gcc/./gcc/function.c:1607
0xafd213 instantiate_virtual_regs
        /export/users2/hongyuw1/gcc/gcc/./gcc/function.c:1977
0xafd213 execute
        /export/users2/hongyuw1/gcc/gcc/./gcc/function.c:2026
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <https://gcc.gnu.org/bugs/> for instructions.

Reply via email to