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

--- Comment #4 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-15 branch has been updated by Andre Simoes Dias Vieira
<[email protected]>:

https://gcc.gnu.org/g:24f252c917089486e1f0d6c0b98962091b6b21d2

commit r15-10529-g24f252c917089486e1f0d6c0b98962091b6b21d2
Author: Andre Vieira <[email protected]>
Date:   Wed Nov 12 10:33:09 2025 +0000

    arm: Fix out of bounds when using cmse with FP types in aggregates
[PR122539]

    Skip partial register clearing logic when dealing with FP_REGS in
aggregates as
    these are always fully cleared and the logic assumes a mask for each of the
4
    argument GPR_REGS.

    gcc/ChangeLog:

            PR target/122539
            * config/arm/arm.cc (comp_not_to_clear_mask_str_un): Skip partial
            register clearing logic for FP_REGS.
            (compute_not_to_clear_mask): Likewise.

    gcc/testsuite/ChangeLog:

            * gcc.target/arm/cmse/mainline/8m/hard/union-fp.c: New.
            * gcc.target/arm/cmse/baseline/union-4.c: New.
            * gcc.target/arm/cmse/mainline/8m/hard/union-4.c: New.
            * gcc.target/arm/cmse/mainline/8m/soft/union-4.c: New.
            * gcc.target/arm/cmse/mainline/8m/softfp/union-4.c: New.
            * gcc.target/arm/cmse/union-4.x: New.

    (cherry picked from commit 13b58ca5d1a56517932f80ce07bd947d7f4f917e)

Reply via email to