Hi all,

These two patches address PR123206.
 - Patch 1/2 is a minimally-invasive fix (suitable for backporting),
   which also includes a simple hardening step of making
   aarch64_pragma_builtins_data constexpr, to prevent this sort
   of bug from re-occurring.  I'd like this to be considered for GCC 16.
 - Patch 2/2 is a more invasive hardening step (not suitable for
   backporting), whereby we make the ctor of bbitmap explicit.
   I think it provides a more comprehensive set of guardrails against
   this class of bug, but it's probably not suitable for GCC 16 at this
   stage.  I'd still like to get some feedback on it, and hopefully land
   it next stage 1.

I'll note that since the bug isn't technically a regression, it isn't
strictly stage 4 material, but I think the fix (1/2) is obvious enough,
and it would be nice to have it in for GCC 16, so would like to get RM
approval for that.

Thanks,
Alex

Alex Coplan (2):
  aarch64: Fix gating of fp8 intrinsics [PR123206]
  middle-end, aarch64: Make bbitmap ctor explicit [PR123206]

 gcc/Makefile.in                               |  1 +
 gcc/bbitmap-selftests.cc                      | 69 +++++++++++++++++++
 gcc/bbitmap.h                                 |  8 +--
 gcc/common/config/aarch64/aarch64-common.cc   | 16 +++--
 gcc/config/aarch64/aarch64-builtins.cc        | 14 ++--
 gcc/config/aarch64/aarch64-feature-deps.h     |  7 +-
 gcc/config/aarch64/aarch64-protos.h           | 10 +--
 .../aarch64/aarch64-simd-pragma-builtins.def  | 38 +++++-----
 .../aarch64/aarch64-sve-builtins-base.def     |  4 +-
 .../aarch64/aarch64-sve-builtins-sme.def      |  4 +-
 .../aarch64/aarch64-sve-builtins-sve2.def     |  4 +-
 gcc/config/aarch64/aarch64-sve-builtins.cc    |  8 +--
 gcc/config/aarch64/aarch64-sve-builtins.h     |  2 +-
 gcc/config/aarch64/aarch64.cc                 | 18 ++---
 gcc/config/aarch64/aarch64.h                  |  4 +-
 gcc/config/aarch64/driver-aarch64.cc          | 10 +--
 gcc/selftest-run-tests.cc                     |  1 +
 gcc/selftest.h                                |  1 +
 gcc/testsuite/gcc.target/aarch64/pr123206.c   |  7 ++
 19 files changed, 155 insertions(+), 71 deletions(-)
 create mode 100644 gcc/bbitmap-selftests.cc
 create mode 100644 gcc/testsuite/gcc.target/aarch64/pr123206.c

Reply via email to