This patch series removes the requirement of SVE2 for SME, so when a user
passes +sme, SVE2 is not enabled as a result of that.
We do this to be compliant with the ISA and behave in a compatible manner to
other toolchains, to prevent unexpected behavior when switching between them.

However, for the time being we diagnose the use of SME without SVE2 as
unsupported, we suspect that the backend correctly enables and disables the
right instructions given the options, but we believe that for certain codegen
there are assumptions that SVE & SVE2 is present when using SME.  Before we
fully support this combination we should investigate these.

The patch series also refactors the FCMA/COMPNUM/TARGET_COMPLEX feature to
separate it from Armv8.3-A feature set.

Andre Vieira (2)
 aarch64: Split FCMA feature bit from Armv8.3-A
 aarch64: remove SVE2 requirement from SME and diagnose it as unsupported

Regression tested on aarch64-none-linux-gnu.

OK for trunk?

Andre Vieira (2):
  aarch64: Split FCMA feature bit from Armv8.3-A
  aarch64: remove SVE2 requirement from SME and diagnose it as unsupported

 gcc/config/aarch64/aarch64-arches.def                         | 2 +-
 gcc/config/aarch64/aarch64-option-extensions.def              | 4 +++-
 gcc/config/aarch64/aarch64.cc                                 | 4 ++++
 gcc/config/aarch64/aarch64.h                                  | 2 +-
 .../aarch64/sve/acle/general-c/binary_int_opt_single_n_2.c    | 2 +-
 .../aarch64/sve/acle/general-c/binary_opt_single_n_2.c        | 2 +-
 .../gcc.target/aarch64/sve/acle/general-c/binary_single_1.c   | 2 +-
 .../gcc.target/aarch64/sve/acle/general-c/binaryxn_2.c        | 2 +-
 gcc/testsuite/gcc.target/aarch64/sve/acle/general-c/clamp_1.c | 2 +-
 .../aarch64/sve/acle/general-c/compare_scalar_count_1.c       | 2 +-
 .../aarch64/sve/acle/general-c/shift_right_imm_narrowxn_1.c   | 2 +-
 .../gcc.target/aarch64/sve/acle/general-c/storexn_1.c         | 2 +-
 .../aarch64/sve/acle/general-c/ternary_qq_or_011_lane_1.c     | 2 +-
 .../gcc.target/aarch64/sve/acle/general-c/unary_convertxn_1.c | 2 +-
 .../gcc.target/aarch64/sve/acle/general-c/unaryxn_1.c         | 2 +-
 15 files changed, 20 insertions(+), 14 deletions(-)

-- 
2.25.1

Reply via email to