Re: [PATCH] recog: Handle some mode-changing hardreg propagations

2025-01-02 Thread Andreas Schwab
during RTL pass: reload ../../../../../libstdc++-v3/src/c++20/tzdb.cc: In function ‘std::istream& std::chrono::{anonymous}::operator>>(std::istream&, at_time&)’: ../../../../../libstdc++-v3/src/c++20/tzdb.cc:2080:5: internal compiler error: in gen_rtx_SUBREG, at emit-rtl.cc:1032 2080 | }

Re: [PATCH] recog: Handle some mode-changing hardreg propagations

2025-01-01 Thread Keith Packard
From: Richard Sandiford Date: Mon, 30 Dec 2024 12:18:40 + > ...that could be handled by adding: > > && GET_MODE_INNER (from) != GET_MODE_INNER (to) I'll let those of you who understand this code far better than I do figure out whether that's the right plan. I figured that copying how it w

Re: [PATCH] recog: Handle some mode-changing hardreg propagations

2024-12-30 Thread Richard Sandiford
Keith Packard writes: >> insn_propagation would previously only replace (reg:M H) with X >> for some hard register H if the uses of H were also in mode M. >> This patch extends it to handle simple mode punning too. > > (this is from GCC commit 9d20529d94b23275885f380d155fe8671ab5353a) > > Looks li

Re: [PATCH] recog: Handle some mode-changing hardreg propagations

2024-12-29 Thread Keith Packard
> insn_propagation would previously only replace (reg:M H) with X > for some hard register H if the uses of H were also in mode M. > This patch extends it to handle simple mode punning too. (this is from GCC commit 9d20529d94b23275885f380d155fe8671ab5353a) Looks like this breaks m68k floating po

Re: [PATCH] recog: Handle some mode-changing hardreg propagations

2024-07-10 Thread Jeff Law
On 7/10/24 9:32 AM, Richard Sandiford wrote: insn_propagation would previously only replace (reg:M H) with X for some hard register H if the uses of H were also in mode M. This patch extends it to handle simple mode punning too. The original motivation was to try to get rid of the execution f

[PATCH] recog: Handle some mode-changing hardreg propagations

2024-07-10 Thread Richard Sandiford
insn_propagation would previously only replace (reg:M H) with X for some hard register H if the uses of H were also in mode M. This patch extends it to handle simple mode punning too. The original motivation was to try to get rid of the execution frequency test in aarch64_split_simd_shift_p, but d