[PATCH 0/2] aarch64: Fix inlining with streaming mismatches

Alice Carlotti <[email protected]>
Newsgroups gmane.comp.gcc.patches
Message-ID <[email protected]>
In theory, it is possible to inline a callee function into a caller
function with incompatible streaming state, if we can prove that the
body of the callee function will behave identically in both streaming
and non-streaming mode.  Unfortunately the existing checks are far too lenient,
and can have an inconsistent impact on whether errors are reported for
mismatching always_inline functions.

This issue has cropped up in various places:
- PR 126133 was triggered by changes to the implementation of Neon intrinsics.
  The included testcase is resolved by patch 1/2, but a similar testcase
  without the explicit always_inline attribute is valid code where the same
  function might be incorrectly inlined.  This related testcase is addressed in
  patch 2/2.
- PR 124416 is a straightforward example of the bug, fixed by patch 2/2.
- Multiple uncommmitted patches have tried to lower halving-add intrinsics to
  GIMPLE, which results in the sme/arm_neon_[123].c tests failing.  There's
  nothing special about these particular intrinsics, besides them happening to
  be chosen when writing those tests.
  See https://gcc.gnu.org/pipermail/gcc-patches/2026-March/711545.html
  and https://gcc.gnu.org/pipermail/gcc-patches/2026-August/727675.html

The second patch in this series removes all of the non-testsuite code that is
changed in the first patch.  I have chosen to structure this as two separate
patches nonetheless, as I consider the first patch to be a necessary permanent
fix, while the second patch could in future be reverted as the basis for a
fixed implementation of AARCH64_IPA_SM_FIXED.

Are these patches ok for master (assuming regression testing passes)?  And ok
to backport to GCC 14-16?

Thanks,
Alice
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.