[Bug target/96201] x86 movsd/movsq string instructions and alignment inference

amker at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Tue Sep 15 11:15:38 GMT 2020


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

bin cheng <amker at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |amker at gcc dot gnu.org

--- Comment #2 from bin cheng <amker at gcc dot gnu.org> ---
Reason is that memory references in f3 are not identified as address type IV
uses.  I don't remember details, but it's intended by below commit:
commit 653a4b32fe72e33bfd4cdd4c25493049524a3805
Author: Bin Cheng <bin.cheng@arm.com>
Date:   Thu Mar 2 11:25:11 2017 +0000

    re PR tree-optimization/66768 (address space gets lost on literal pointer)

            PR tree-optimization/66768
            * tree-ssa-loop-ivopts.c (find_interesting_uses_address): Skip addr
            iv_use if base object can't be determined.

            gcc/testsuite
            * gcc.target/i386/pr66768.c: New test.

    From-SVN: r245837

For f1/f2, IVOPTs fails to identify base object because pointers are converted
from integer.  We need to tell the difference better.

For f3, __builtin_assume_aligned is optimized away by GCC-10 before IVOPTs.


More information about the Gcc-bugs mailing list