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

--- Comment #9 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-13 branch has been updated by Andrew Pinski
<pins...@gcc.gnu.org>:

https://gcc.gnu.org/g:fc79c3a273a8fd7c1b57cd8b01a699ad2640f51c

commit r13-7304-gfc79c3a273a8fd7c1b57cd8b01a699ad2640f51c
Author: Andrew Pinski <apin...@marvell.com>
Date:   Sun May 7 01:38:17 2023 +0000

    [GCC 13] Fix aarch64/109762: push_options/push_options does not work
sometimes

    aarch64_isa_flags (and aarch64_asm_isa_flags) are both
aarch64_feature_flags (uint64_t)
    but since r12-8000-g14814e20161d, they are saved/restored as unsigned long.
This
    does not make a difference for LP64 targets but on ILP32 and LLP64IL32
targets,
    it means it does not get restored correctly.
    This patch changes over to use aarch64_feature_flags instead of unsigned
long.

    Committed as obvious to gcc 13 branch after a bootstrap/test.

    gcc/ChangeLog:

            PR target/109762
            * config/aarch64/aarch64-builtins.cc
(aarch64_simd_switcher::aarch64_simd_switcher):
            Change argument type to aarch64_feature_flags.
            * config/aarch64/aarch64-protos.h (aarch64_simd_switcher): Change
            constructor argument type to aarch64_feature_flags.
            Change m_old_asm_isa_flags to be aarch64_feature_flags.

    (cherry picked from commit a1a9ce2441df0675540faee8476523164e12578b)

Reply via email to