]> git.ipfire.org Git - thirdparty/gcc.git/commit
aarch64: Add +sme
authorRichard Sandiford <richard.sandiford@arm.com>
Tue, 5 Dec 2023 10:11:23 +0000 (10:11 +0000)
committerRichard Sandiford <richard.sandiford@arm.com>
Tue, 5 Dec 2023 10:11:23 +0000 (10:11 +0000)
commit7e04bd1fadf3410c3d24b56f650a52ff53d01a3c
tree28925aca580cc86943ee78c5b54b060afcdcef6f
parent2c9a54b4238308b127c3b60b01a591363131e7db
aarch64: Add +sme

This patch adds the +sme ISA feature and requires it to be present
when compiling arm_streaming code.  (arm_streaming_compatible code
does not necessarily assume the presence of SME.  It just has to
work when SME is present and streaming mode is enabled.)

gcc/
* doc/invoke.texi: Document SME.
* doc/sourcebuild.texi: Document aarch64_sve.
* config/aarch64/aarch64-option-extensions.def (sme): Define.
* config/aarch64/aarch64.h (AARCH64_ISA_SME): New macro.
(TARGET_SME): Likewise.
* config/aarch64/aarch64.cc (aarch64_override_options_internal):
Ensure that SME is present when compiling streaming code.

gcc/testsuite/
* lib/target-supports.exp (check_effective_target_aarch64_sme): New
target test.
* gcc.target/aarch64/sme/aarch64-sme.exp: Force SME to be enabled
if it isn't by default.
* g++.target/aarch64/sme/aarch64-sme.exp: Likewise.
* gcc.target/aarch64/sme/streaming_mode_3.c: New test.
gcc/config/aarch64/aarch64-option-extensions.def
gcc/config/aarch64/aarch64.cc
gcc/config/aarch64/aarch64.h
gcc/doc/invoke.texi
gcc/doc/sourcebuild.texi
gcc/testsuite/g++.target/aarch64/sme/aarch64-sme.exp
gcc/testsuite/gcc.target/aarch64/sme/aarch64-sme.exp
gcc/testsuite/gcc.target/aarch64/sme/streaming_mode_3.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sme/streaming_mode_4.c [new file with mode: 0644]
gcc/testsuite/lib/target-supports.exp