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

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

https://gcc.gnu.org/g:758d2b3d3e28c831c79f5c18727d149c81896434

commit r15-5440-g758d2b3d3e28c831c79f5c18727d149c81896434
Author: Jakub Jelinek <ja...@redhat.com>
Date:   Tue Nov 19 10:25:04 2024 +0100

    bitintlower: Handle EXACT_DIV_EXPR like TRUNC_DIV_EXPR in bitint lowering
[PR117571]

    r15-4601 added match.pd simplification of some TRUNC_DIV_EXPR expressions
    into EXACT_DIV_EXPR, so bitintlower can now encounter even those.
    From bitint lowering POV the fact that the division will be exact
    doesn't matter, we still need to call at runtime the __divmodbitint4
    API and it wouldn't simplify there anything to know it is exact if
    we duplicated that, so the following patch lowers EXACT_DIV_EXPR exactly
    as TRUNC_DIV_EXPR.

    I think we don't need to backport this unless something introduces
    EXACT_DIV_EXPR on BITINT_TYPEd expressions on the 14 branch as well.

    2024-11-19  Jakub Jelinek  <ja...@redhat.com>

            PR middle-end/117571
            * gimple-lower-bitint.cc (bitint_large_huge::lower_muldiv_stmt,
            bitint_large_huge::lower_stmt, stmt_needs_operand_addr,
            build_bitint_stmt_ssa_conflicts, gimple_lower_bitint): Handle
            EXACT_DIV_EXPR like TRUNC_DIV_EXPR.

            * gcc.dg/bitint-114.c: New test.

Reply via email to