[PATCH 0/6] arm: small correctness fixes (wrong-code, ICE, debug-info)
Dominic P <[email protected]> Sun, 2 Aug 2026 11:56:02 +0100
| Newsgroups | gmane.comp.gcc.patches |
|---|---|
| Message-ID | <[email protected]> |
This series collects six small, self-contained ARM backend correctness
fixes. Each reproduces on current trunk, carries a regression test, and
applies cleanly to master.
1 __fp16 homogeneous-aggregate return miscompile (every element placed
in s0). Two-line fix mirroring the argument-passing path; verified by
an executed ABI round-trip.
2 compare_exchange with success=release/failure=acquire dropped the
acquire barrier on pre-v8 (memory-model wrong-code). One-line fix.
3 vshll_n with a zero shift emitted an unassemblable "vshll ... #0";
divert shift-0 to vmovl.
4 __bf16 move ICE in Thumb-1; add the BFmode mover via the existing
HFBF iterator.
5 wrong DWARF register span for Q8-Q15 register variables.
6 stale comment referencing the removed pe.c.
Each patch was prepared with the assistance of an AI coding tool and is
marked Assisted-by: accordingly; I have reviewed and verified every line
and certify the DCO.
Dominic P (6):
arm: fix wrong-code for __fp16 homogeneous aggregate return [PR92999]
arm: Fix missing acquire barrier for compare_exchange release/acquire
on ARMv6/v7 [PR96056]
arm: fix vshll_n intrinsics with a zero shift [PR111609]
arm: Add Thumb-1 BFmode moves to fix __bf16 ICE [PR99764]
arm: Fix DWARF register span for Q8-Q15 register variables [PR91381]
arm: Fix stale comment reference to removed pe.c [PR91041]
gcc/config/arm/arm-protos.h | 2 +-
gcc/config/arm/arm.cc | 22 +++++++---
gcc/config/arm/neon.md | 7 ++-
gcc/config/arm/thumb1.md | 12 +++---
.../arm/atomic-comp-swap-release-acquire-4.c | 16 +++++++
gcc/testsuite/gcc.target/arm/pr111609.c | 28 ++++++++++++
gcc/testsuite/gcc.target/arm/pr91381.c | 26 +++++++++++
gcc/testsuite/gcc.target/arm/pr92999.c | 43 +++++++++++++++++++
gcc/testsuite/gcc.target/arm/pr99764.c | 37 ++++++++++++++++
9 files changed, 180 insertions(+), 13 deletions(-)
create mode 100644 gcc/testsuite/gcc.target/arm/atomic-comp-swap-release-acquire-4.c
create mode 100644 gcc/testsuite/gcc.target/arm/pr111609.c
create mode 100644 gcc/testsuite/gcc.target/arm/pr91381.c
create mode 100644 gcc/testsuite/gcc.target/arm/pr92999.c
create mode 100644 gcc/testsuite/gcc.target/arm/pr99764.c
--
2.55.0