https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117726

--- Comment #5 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Georg-Johann Lay <g...@gcc.gnu.org>:

https://gcc.gnu.org/g:d203f4cb968a1dc45c7fcd1bf5d7cd485ca6f510

commit r15-5892-gd203f4cb968a1dc45c7fcd1bf5d7cd485ca6f510
Author: Georg-Johann Lay <a...@gjlay.de>
Date:   Mon Dec 2 12:31:18 2024 +0100

    AVR: Tweak uin8_t << 6 and uint8_t >> 6 shifts.

    Logic 8-bit shifts with an offset of 6 can be improved by
    supporting them as 3-operand operations.

            PR target/117726
    gcc/
            * config/avr/avr-passes.cc (avr_emit_shift): All 8-bit shifts with
            an offset of 6 have 3-operand alternatives.
            * config/avr/avr.cc (ashlqi3_out, lshrqi3_out) [case 6]:
            Implement as 3-operand insn.
            (avr_rtx_costs_1) [QImode, ASHIFT + LSHIFTRT]: Adjust
            costs for offset of 6.
            * config/avr/avr.md (*ashlqi3_split, *ashlqi3)
            (*lshrqi3_split, *lshrqi3): Add "r,r,C06" alternative.

Reply via email to