пт, 22 нояб. 2024 г. в 17:12, Georg-Johann Lay <a...@gjlay.de>: > > This patch is similar to https://gcc.gnu.org/r15-5569 (tweak ashift:SI) > but for > ashiftrt and lshiftrt codes. It splits constant shift offsets > 16 > into a 3-operand byte shift and a 2-operand residual bit shift. > Moreover, some of the constraint alternatives have been promoted > to 3-operand alternatives regardless of options. For example, > ashift:HI and lshiftrt:HI can support 3 operands for offsets 9...12 > without any overhead. > Apart from that, it's a bit of code clean up for 2-byte and 4-byte > shift insns: Use one RTL peephole with any_shift code iterator > instead of 3 individual peepholes. It also removes some useless > split insns; presumably introduced during the cc0 -> CCmode work. > > > No regressions. Ok for trunk?
Please apply. Denis.