[Bug middle-end/91001] internal compiler error: in extract_insn, at recog.c:2310

2019-11-22 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91001

Jakub Jelinek  changed:

   What|Removed |Added

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

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

[Bug middle-end/91001] internal compiler error: in extract_insn, at recog.c:2310

2019-11-21 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91001

--- Comment #10 from Jakub Jelinek  ---
Author: jakub
Date: Thu Nov 21 17:11:19 2019
New Revision: 278575

URL: https://gcc.gnu.org/viewcvs?rev=278575=gcc=rev
Log:
Backported from mainline
2019-09-06  Jakub Jelinek  

* function.c (assign_parm_find_data_types): Use RECORD_OR_UNION_TYPE_P
before testing TYPE_TRANSPARENT_AGGR.
* calls.c (initialize_argument_information, load_register_parameters):
Likewise.

2019-09-05  Jakub Jelinek  

PR middle-end/91001
PR middle-end/91105
PR middle-end/91106
* calls.c (load_register_parameters): For TYPE_TRANSPARENT_AGGR
types, use type of their first field instead of type of
args[i].tree_value.

* gcc.c-torture/compile/pr91001.c: New test.

Added:
branches/gcc-8-branch/gcc/testsuite/gcc.c-torture/compile/pr91001.c
Modified:
branches/gcc-8-branch/gcc/ChangeLog
branches/gcc-8-branch/gcc/calls.c
branches/gcc-8-branch/gcc/function.c
branches/gcc-8-branch/gcc/testsuite/ChangeLog

[Bug middle-end/91001] internal compiler error: in extract_insn, at recog.c:2310

2019-10-21 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91001

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

[Bug middle-end/91001] internal compiler error: in extract_insn, at recog.c:2310

2019-10-21 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91001

--- Comment #8 from Jakub Jelinek  ---
Author: jakub
Date: Mon Oct 21 11:39:53 2019
New Revision: 277248

URL: https://gcc.gnu.org/viewcvs?rev=277248=gcc=rev
Log:
Backported from mainline
2019-09-06  Jakub Jelinek  

* function.c (assign_parm_find_data_types): Use RECORD_OR_UNION_TYPE_P
before testing TYPE_TRANSPARENT_AGGR.
* calls.c (initialize_argument_information, load_register_parameters):
Likewise.

2019-09-05  Jakub Jelinek  

PR middle-end/91001
PR middle-end/91105
PR middle-end/91106
* calls.c (load_register_parameters): For TYPE_TRANSPARENT_AGGR
types, use type of their first field instead of type of
args[i].tree_value.

* gcc.c-torture/compile/pr91001.c: New test.

Added:
branches/gcc-9-branch/gcc/testsuite/gcc.c-torture/compile/pr91001.c
Modified:
branches/gcc-9-branch/gcc/ChangeLog
branches/gcc-9-branch/gcc/calls.c
branches/gcc-9-branch/gcc/function.c
branches/gcc-9-branch/gcc/testsuite/ChangeLog

[Bug middle-end/91001] internal compiler error: in extract_insn, at recog.c:2310

2019-09-05 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91001

--- Comment #7 from Jakub Jelinek  ---
Fixed on the trunk so far.

[Bug middle-end/91001] internal compiler error: in extract_insn, at recog.c:2310

2019-09-05 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91001

--- Comment #6 from Jakub Jelinek  ---
Author: jakub
Date: Thu Sep  5 13:30:23 2019
New Revision: 275408

URL: https://gcc.gnu.org/viewcvs?rev=275408=gcc=rev
Log:
PR middle-end/91001
PR middle-end/91105
PR middle-end/91106
* calls.c (load_register_parameters): For TYPE_TRANSPARENT_AGGR
types, use type of their first field instead of type of
args[i].tree_value.

* gcc.c-torture/compile/pr91001.c: New test.

Added:
trunk/gcc/testsuite/gcc.c-torture/compile/pr91001.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/calls.c
trunk/gcc/testsuite/ChangeLog

[Bug middle-end/91001] internal compiler error: in extract_insn, at recog.c:2310

2019-09-04 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91001

--- Comment #4 from Jakub Jelinek  ---
*** Bug 91105 has been marked as a duplicate of this bug. ***

[Bug middle-end/91001] internal compiler error: in extract_insn, at recog.c:2310

2019-09-04 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91001

--- Comment #5 from Jakub Jelinek  ---
*** Bug 91106 has been marked as a duplicate of this bug. ***

[Bug middle-end/91001] internal compiler error: in extract_insn, at recog.c:2310

2019-09-04 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91001

Jakub Jelinek  changed:

   What|Removed |Added

 Status|NEW |ASSIGNED
   Assignee|unassigned at gcc dot gnu.org  |jakub at gcc dot gnu.org

--- Comment #3 from Jakub Jelinek  ---
Created attachment 46812
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=46812=edit
gcc10-pr91001.patch

Untested fix.

[Bug middle-end/91001] internal compiler error: in extract_insn, at recog.c:2310

2019-06-26 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91001

Richard Biener  changed:

   What|Removed |Added

   Keywords||ice-on-valid-code
 Status|UNCONFIRMED |NEW
   Last reconfirmed||2019-06-26
 Ever confirmed|0   |1

[Bug middle-end/91001] internal compiler error: in extract_insn, at recog.c:2310

2019-06-26 Thread ubizjak at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91001

Uroš Bizjak  changed:

   What|Removed |Added

  Component|target  |middle-end

--- Comment #2 from Uroš Bizjak  ---
This is middle-end problem; middle-end is expanding to:

1: NOTE_INSN_DELETED
3: NOTE_INSN_BASIC_BLOCK 2
2: NOTE_INSN_FUNCTION_BEG
5: di:DI=[`d']
6: bp:DI=[const(`d'+0x8)]
7: sp:DI=[const(`d'+0x10)]
8: st:DI=[const(`d'+0x18)]
9: st(1):DI=[const(`d'+0x20)]
   10: st(2):DI=[const(`d'+0x28)]
   11: st(3):DI=[const(`d'+0x30)]
   12: st(4):DI=[const(`d'+0x38)]
   13: st(5):DI=[const(`d'+0x40)]
   14: st(6):DI=[const(`d'+0x48)]
   15: st(7):DI=[const(`d'+0x50)]
   16: argp:DI=[const(`d'+0x58)]
   17: flags:DI=[const(`d'+0x60)]
   18: fpsr:DI=[const(`d'+0x68)]
   19: frame:DI=[const(`d'+0x70)]
   20: xmm0:DI=[const(`d'+0x78)]
   21: ax:QI=0
   22: call [`f'] argc:0
  REG_CALL_DECL `f'
   23: barrier

The number of insns depend on the parameter of the aligned(...) attribute.
having "aligned(512)", we get loads all the way to k0 mask register.

Please note that the above are just consecutive registers from REG_ALLOC_ORDER.