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

--- Comment #1 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Hongyu Wang <hong...@gcc.gnu.org>:

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

commit r12-3137-g87afc7b81cd44d04997add383856b2504af3afe6
Author: Hongyu Wang <hongyu.w...@intel.com>
Date:   Tue Aug 17 16:53:46 2021 +0800

    i386: Optimize lea with zero-extend. [PR 101716]

    For ASHIFT + ZERO_EXTEND pattern, combine pass failed to
    match it to lea since it will generate non-canonical
    zero-extend. Adjust predicate and cost_model to allow combine
    for lea.

    gcc/ChangeLog:

            PR target/101716
            * config/i386/i386.c (ix86_live_on_entry): Adjust comment.
            (ix86_decompose_address): Remove retval check for ASHIFT,
            allow non-canonical zero extend if AND mask covers ASHIFT
            count.
            (ix86_legitimate_address_p): Adjust condition for decompose.
            (ix86_rtx_costs): Adjust cost for lea with non-canonical
            zero-extend.

            Co-Authored by: Uros Bizjak <ubiz...@gmail.com>

    gcc/testsuite/ChangeLog:

            PR target/101716
            * gcc.target/i386/pr101716.c: New test.

Reply via email to