[PATCH v3 0/3] aarch64: Add initial support for +fp8 arch extensions
Claudio Bantaloukas
claudio.bantaloukas@arm.com
Fri Jul 26 16:32:51 GMT 2024
This series introduces initial flags and functionality for the fp8 feature.
Specifically, the following are added:
- functions that enable constructing valid fpm register values.
- support for the '+fp8' -march modifier.
- support for reading and writing the new system register FPMR (Floating Point Mode
Register) which configures the new FP8 features
Tested against aarch64-unknown-linux-gnu.
V1 of this patch series had "aarch64: Add march flags for +fp8 arch extensions" as
cover letter title. Since then, changes in V2 are:
aarch64: Add march flags for +fp8 arch extensions
- Removed __ARM_FEATURE_FP8 define: will be added once the relevant features are in.
- Some unnecessary whitespace changes were removed.
- Helper function names now begin with __arm.
aarch64: Add support for moving fpm system register
- Removed a misleading comment.
- Removed unnecessary modifier in .md
aarch64: Add fpm register helper functions.
- Helper functions and fpm_t types are available unconditionally when including arm_acle.h
Changes in V3 are:
aarch64: Add march flags for +fp8 arch extensions
- removed unnecessary check-function-bodies check
aarch64: Add support for moving fpm system register
- added check-function-bodies check
aarch64: Add fpm register helper functions.
- moved fp8 types and helper functions into a new private header file arm_private_fp8.h
- arm_neon.h and arm_sve.h now include the new header
- added tests that check the helpers are available when including arm_neon.h
arm_sve.h or arm_sme.h
Is this ok for master? I do not have merge permissions. Can someone merge this for me please?
Thanks,
Claudio Bantaloukas
Claudio Bantaloukas (3):
aarch64: Add march flags for +fp8 arch extensions
aarch64: Add support for moving fpm system register
aarch64: Add fpm register helper functions.
gcc/config.gcc | 2 +-
.../aarch64/aarch64-option-extensions.def | 2 +
gcc/config/aarch64/aarch64.cc | 8 ++
gcc/config/aarch64/aarch64.h | 17 ++-
gcc/config/aarch64/aarch64.md | 30 +++--
gcc/config/aarch64/arm_neon.h | 1 +
gcc/config/aarch64/arm_private_fp8.h | 80 +++++++++++
gcc/config/aarch64/arm_sve.h | 1 +
gcc/config/aarch64/constraints.md | 3 +
gcc/doc/invoke.texi | 2 +
.../aarch64/acle/fp8-helpers-neon.c | 53 ++++++++
.../gcc.target/aarch64/acle/fp8-helpers-sme.c | 12 ++
.../gcc.target/aarch64/acle/fp8-helpers-sve.c | 12 ++
gcc/testsuite/gcc.target/aarch64/acle/fp8.c | 124 ++++++++++++++++++
14 files changed, 332 insertions(+), 15 deletions(-)
create mode 100644 gcc/config/aarch64/arm_private_fp8.h
create mode 100644 gcc/testsuite/gcc.target/aarch64/acle/fp8-helpers-neon.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/acle/fp8-helpers-sme.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/acle/fp8-helpers-sve.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/acle/fp8.c
--
2.43.0
More information about the Gcc-patches
mailing list