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

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

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

commit r14-558-ga1a9ce2441df0675540faee8476523164e12578b
Author: Andrew Pinski <apin...@marvell.com>
Date:   Sun May 7 01:38:17 2023 +0000

    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 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.

Reply via email to