https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83675
Bug ID: 83675 Summary: [8 regression] Many SPARC tests FAIL with unrecognizable insn Product: gcc Version: 8.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: middle-end Assignee: unassigned at gcc dot gnu.org Reporter: ro at gcc dot gnu.org CC: ebotcazou at gcc dot gnu.org, rsandifo at gcc dot gnu.org Target Milestone: --- Host: sparc-sun-solaris2.* Target: sparc-sun-solaris2.* Build: sparc-sun-solaris2.* Between 20180102 and 20180103, man SPARC tests started to FAIL like this: FAIL: gcc.dg/vect/pr43842.c (internal compiler error) FAIL: gcc.dg/vect/pr43842.c (test for excess errors) /vol/gcc/src/hg/trunk/local/gcc/testsuite/gcc.dg/vect/pr43842.c: In function 'int161': /vol/gcc/src/hg/trunk/local/gcc/testsuite/gcc.dg/vect/pr43842.c:40:1: error: unrecognizable insn: (insn 28 27 29 5 (parallel [ (set (reg:SI 131) (plus:SI (reg:SI 129) (const_int 0 [0]))) (set (zero_extract:DI (reg:DI 102 %gsr) (const_int 32 [0x20]) (const_int 32 [0x20])) (zero_extend:DI (plus:SI (reg:SI 129) (const_int 0 [0])))) ]) -1 (nil)) during RTL pass: vregs /vol/gcc/src/hg/trunk/local/gcc/testsuite/gcc.dg/vect/pr43842.c:40:1: internal compiler error: in extract_insn, at recog.c:2304 0xa07177 _fatal_insn(char const*, rtx_def const*, char const*, int, char const*) /vol/gcc/src/hg/trunk/local/gcc/rtl-error.c:108 0xa071a7 _fatal_insn_not_found(rtx_def const*, char const*, int, char const*) /vol/gcc/src/hg/trunk/local/gcc/rtl-error.c:116 0x9c8027 extract_insn(rtx_insn*) /vol/gcc/src/hg/trunk/local/gcc/recog.c:2304 0x72f38b instantiate_virtual_regs_in_insn /vol/gcc/src/hg/trunk/local/gcc/function.c:1646 0x72f38b instantiate_virtual_regs /vol/gcc/src/hg/trunk/local/gcc/function.c:1967 0x72f38b execute /vol/gcc/src/hg/trunk/local/gcc/function.c:2016 The failure can be reproduced with $ cc1 -fpreprocessed pr43842.i -quiet -mcpu=ultrasparc -mvis -O2 -ftree-vectorize -o pr43842.s A reghunt identified this patch as the culprit: The first bad revision is: changeset: 43046:975c3cdb3b00 user: rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4 date: Tue Jan 02 18:26:27 2018 +0000 summary: Remove vec_perm_const optab 2018-01-02 Richard Sandiford <richard.sandif...@linaro.org> * Makefile.in (OBJS): Add vec-perm-indices.o. * vec-perm-indices.h: New file. * vec-perm-indices.c: Likewise. * target.h (vec_perm_indices): Replace with a forward class declaration. (auto_vec_perm_indices): Move to vec-perm-indices.h. [...] Rainer