https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97042
Segher Boessenkool changed:
What|Removed |Added
Last reconfirmed||2020-09-15
Status|UNCON
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97042
--- Comment #9 from Alan Modra ---
I think that splitter should disappear and rs6000_emit_set_long_const handle
all special cases where you might want combinations of two logical instructions
before handling the li;rldicl, li;rldicr or any other
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97042
--- Comment #8 from Segher Boessenkool ---
(In reply to Alan Modra from comment #7)
> and of course, li 0x is li -1 which sets all bits.
Erm, yes. Duh.
So that g:5d3ae76af13 splitter should not fire for numbers that fit in
32 bits but that
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97042
--- Comment #7 from Alan Modra ---
and of course, li 0x is li -1 which sets all bits.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97042
--- Comment #6 from Alan Modra ---
That's easy. rs6000_emit_set_long_const doesn't generate that sequence.
Incidentally, a patch I had to generate more constants from li;rldicl also
fixes this pr.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97042
--- Comment #5 from Segher Boessenkool ---
So hrm, why did GCC generate lis 0x ; ori 0x ; rldicl instead of
li 0x ; oris 0x ?
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97042
Segher Boessenkool changed:
What|Removed |Added
Attachment #49214|0 |1
is obsolete|
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97042
--- Comment #3 from Segher Boessenkool ---
Created attachment 49214
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=49214&action=edit
proposed patch for the ICEs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97042
Peter Bergner changed:
What|Removed |Added
CC||bergner at gcc dot gnu.org
--- Comment #
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97042
--- Comment #1 from Alan Modra ---
Yes, reverting 5d3ae76af13 cures this PR.
10 matches
Mail list logo