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

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

https://gcc.gnu.org/g:50b3f596bd943ec6110c1987f14e5497ce39622f

commit r14-6642-g50b3f596bd943ec6110c1987f14e5497ce39622f
Author: Xi Ruoyao <xry...@xry111.site>
Date:   Sat Dec 9 17:41:32 2023 +0800

    LoongArch: Fix instruction costs [PR112936]

    Replace the instruction costs in loongarch_rtx_cost_data constructor
    based on micro-benchmark results on LA464 and LA664.

    This allows optimizations like "x * 17" to alsl, and "x * 68" to alsl
    and slli.

    gcc/ChangeLog:

            PR target/112936
            * config/loongarch/loongarch-def.cc
            (loongarch_rtx_cost_data::loongarch_rtx_cost_data): Update
            instruction costs per micro-benchmark results.
            (loongarch_rtx_cost_optimize_size): Set all instruction costs
            to (COSTS_N_INSNS (1) + 1).
            * config/loongarch/loongarch.cc (loongarch_rtx_costs): Remove
            special case for multiplication when optimizing for size.
            Adjust division cost when TARGET_64BIT && !TARGET_DIV32.
            Account the extra cost when TARGET_CHECK_ZERO_DIV and
            optimizing for speed.

    gcc/testsuite/ChangeLog

            PR target/112936
            * gcc.target/loongarch/mul-const-reduction.c: New test.

Reply via email to