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

--- Comment #6 from Xi Ruoyao <xry111 at gcc dot gnu.org> ---
And at least removing the condition

    && (!(TARGET_64BIT && TARGET_ZBA)
    || !consecutive_bits_operand (operands[3], VOIDmode)
    || !imm123_operand (operands[2], VOIDmode))

*allows* using sh3add for

long t(long a, long b)
{
        return ((a | 0x1ff) << 3) + b;
}

sh3add is matched in late_combine2.

Reply via email to