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

--- Comment #3 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Jeff Law <l...@gcc.gnu.org>:

https://gcc.gnu.org/g:87d0daab1ec9d5c901295e8045cbd67f80b2fa23

commit r16-655-g87d0daab1ec9d5c901295e8045cbd67f80b2fa23
Author: Jeff Law <j...@ventanamicro.com>
Date:   Thu May 15 09:03:13 2025 -0600

    [RISC-V][PR target/120223] Don't use bset/binv for XTHEADBS

    Thead has the XTHEADBB extension which has a lot of overlap with Zbb.  I
made
    the incorrect assumption that XTHEADBS would largely be like Zbs when
    generalizing Shreya's work.

    As a result we can't use the operation synthesis code for IOR/XOR because
we
    don't have binv/bset like capabilities.  I should have double checked on
    XTHEADBS, my bad.

    Anyway, the fix is trivial.  Don't allow bset/binv based on XTHEADBS.

    Already spun in my tester.  Spinning in the pre-commit CI system now.

            PR target/120223
    gcc/
            * config/riscv/riscv.cc (synthesize_ior_xor): XTHEADBS does not
have
            single bit manipulations.

    gcc/testsuite/

            * gcc.target/riscv/pr120223.c: New test.

Reply via email to