[Bug target/93073] [8 Regression] ICE in extract_insn, at recog.c:2294 (error: unrecognizable insn)

2020-02-14 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93073

Jakub Jelinek  changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution|--- |FIXED

--- Comment #7 from Jakub Jelinek  ---
Fixed for 8.4+ too.

[Bug target/93073] [8 Regression] ICE in extract_insn, at recog.c:2294 (error: unrecognizable insn)

2020-02-14 Thread cvs-commit at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93073

--- Comment #6 from CVS Commits  ---
The releases/gcc-8 branch has been updated by Jakub Jelinek
:

https://gcc.gnu.org/g:f0776f088dce384106609fc868061defd472bc10

commit r8-10006-gf0776f088dce384106609fc868061defd472bc10
Author: Jakub Jelinek 
Date:   Fri Feb 14 15:40:34 2020 +0100

powerpc: Fix ICE with fp conditional move (PR target/93073)

The following testcase ICEs, because for TFmode the particular subtraction
pattern (*subtf3) is not enabled with the given options.  Using
expand_simple_binop instead of emitting the subtraction by hand just moves
the ICE one insn later, NEG of ABS is not then recognized, etc., but
ultimately the problem is that when rs6000_emit_cmove is called for
floating
point operand mode (and earlier condition ensures that in that case
compare_mode is also floating point), the expander makes sure the
operand mode is SFDF, but for the comparison mode nothing checks it, yet
there is just one *fsel* pattern with 2 separate SFDF iterators.

The following patch fixes it by giving up if compare_mode is not SFmode or
DFmode.

2020-01-21  Jakub Jelinek  

PR target/93073
* config/rs6000/rs6000.c (rs6000_emit_cmove): If using fsel, punt for
compare_mode other than SFmode or DFmode.

* gcc.target/powerpc/pr93073.c: New test.

[Bug target/93073] [8 Regression] ICE in extract_insn, at recog.c:2294 (error: unrecognizable insn)

2020-01-22 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93073

Jakub Jelinek  changed:

   What|Removed |Added

Summary|[8/9 Regression] ICE in |[8 Regression] ICE in
   |extract_insn, at|extract_insn, at
   |recog.c:2294 (error:|recog.c:2294 (error:
   |unrecognizable insn)|unrecognizable insn)

--- Comment #5 from Jakub Jelinek  ---
Fixed for 9.3+ too.