This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug target/77728] [5/6/7/8 Regression] Miscompilation multiple vector iteration on ARM


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

--- Comment #46 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Author: jakub
Date: Tue Apr 25 16:47:32 2017
New Revision: 247259

URL: https://gcc.gnu.org/viewcvs?rev=247259&root=gcc&view=rev
Log:
        PR target/77728
        * config/arm/arm.c: Include gimple.h.
        (aapcs_layout_arg): Emit -Wpsabi note if arm_needs_doubleword_align
        returns negative, increment ncrn only if it returned positive.
        (arm_needs_doubleword_align): Return int instead of bool,
        ignore DECL_ALIGN of non-FIELD_DECL TYPE_FIELDS chain
        members, but if there is any such non-FIELD_DECL
        > PARM_BOUNDARY aligned decl, return -1 instead of false.
        (arm_function_arg): Emit -Wpsabi note if arm_needs_doubleword_align
        returns negative, increment nregs only if it returned positive.
        (arm_setup_incoming_varargs): Likewise.
        (arm_function_arg_boundary): Emit -Wpsabi note if
        arm_needs_doubleword_align returns negative, return
        DOUBLEWORD_ALIGNMENT only if it returned positive.
testsuite/
        * g++.dg/abi/pr77728-1.C: New test.

Added:
    branches/gcc-7-branch/gcc/testsuite/g++.dg/abi/pr77728-1.C
Modified:
    branches/gcc-7-branch/gcc/ChangeLog
    branches/gcc-7-branch/gcc/config/arm/arm.c
    branches/gcc-7-branch/gcc/testsuite/ChangeLog

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]