[Bug rtl-optimization/105023] new test case g++.dg/other/pr104989.C ICEs

2022-04-07 Thread guojiufu at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105023 Jiu Fu Guo changed: What|Removed |Added Resolution|--- |FIXED Status|UNCONFIRMED

[Bug rtl-optimization/105023] new test case g++.dg/other/pr104989.C ICEs

2022-04-07 Thread guojiufu at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105023 Jiu Fu Guo changed: What|Removed |Added CC||guojiufu at gcc dot gnu.org --- Comment #7

[Bug rtl-optimization/105023] new test case g++.dg/other/pr104989.C ICEs

2022-03-23 Thread segher at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105023 --- Comment #6 from Segher Boessenkool --- BLKmode is *not* valid for registers. reg:BLK at one time was a special marker for invalid asm operands, apparently. :BLK is for mem, and for parallel as well in some cases, but not for reg.

[Bug rtl-optimization/105023] new test case g++.dg/other/pr104989.C ICEs

2022-03-23 Thread jakub at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105023 --- Comment #5 from Jakub Jelinek --- BLKmode is valid mode for larger aggregate arguments and return values. As documented: "The return value is usually either a @code{reg} RTX for the hard register in which to pass the argument, or zero to pas

[Bug rtl-optimization/105023] new test case g++.dg/other/pr104989.C ICEs

2022-03-23 Thread jakub at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105023 --- Comment #3 from Jakub Jelinek --- But reg:BLK is exactly what the backend emits. Both on the 2 testcases mentioned above (on which there is an ICE afterwards) and say on: struct a { short b : 2048; }; void c(...) { c(a()); } which doesn't

[Bug rtl-optimization/105023] new test case g++.dg/other/pr104989.C ICEs

2022-03-22 Thread segher at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105023 --- Comment #2 from Segher Boessenkool --- @findex BLKmode @item BLKmode ``Block'' mode represents values that are aggregates to which none of the other modes apply. In RTL, only memory references can have this mode, and only if they appear in

[Bug rtl-optimization/105023] new test case g++.dg/other/pr104989.C ICEs

2022-03-22 Thread jakub at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105023 --- Comment #1 from Jakub Jelinek --- There is already FAIL: g++.dg/other/pr84964.C -std=c++98 (internal compiler error: Aborted signal terminated program cc1plus) FAIL: g++.dg/other/pr84964.C -std=c++98 1 blank line(s) in output FAIL: g++.dg