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

mpolacek at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Fri May 5 15:42:00 GMT 2017


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

--- Comment #57 from Marek Polacek <mpolacek at gcc dot gnu.org> ---
Author: mpolacek
Date: Fri May  5 15:38:04 2017
New Revision: 247639

URL: https://gcc.gnu.org/viewcvs?rev=247639&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 if it returned non-zero.
        (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 if it returned non-zero.
        (arm_setup_incoming_varargs): Likewise.
        (arm_function_arg_boundary): Emit -Wpsabi note if
        arm_needs_doubleword_align returns negative, return
        DOUBLEWORD_ALIGNMENT if it returned non-zero.

        * g++.dg/abi/pr77728-1.C: New test.

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


More information about the Gcc-bugs mailing list