-
- Downloads
aarch64: Add support for SME_B16B16
This patch adds support for the SME_B16B16 extension. It follows similar lines to the SME_F16F16 extension added earlier. gcc/ * config/aarch64/aarch64-option-extensions.def (sme-b16b16): New extension. * doc/invoke.texi: Document it. * config/aarch64/aarch64.h (TARGET_STREAMING_SME_B16B16): New macro. * config/aarch64/aarch64-c.cc (aarch64_update_cpp_builtins): Conditionally define __ARM_FEATURE_SME_B16B16. * config/aarch64/aarch64-sve-builtins-sme.def: Add SME_B16B16 forms of existing intrinsics. * config/aarch64/aarch64-sme.md (@aarch64_sme_<SME_BINARY_SLICE_HSDF:optab><mode>) (*aarch64_sme_<SME_BINARY_SLICE_HSDF:optab><mode>_plus) (@aarch64_sme_<SME_FP_TERNARY_SLICE:optab><mode><mode>) (*aarch64_sme_<SME_FP_TERNARY_SLICE:optab><mode><mode>_plus) (@aarch64_sme_single_<SME_FP_TERNARY_SLICE:optab><mode><mode>) (*aarch64_sme_single_<SME_FP_TERNARY_SLICE:optab><mode><mode>_plus) (@aarch64_sme_lane_<SME_FP_TERNARY_SLICE:optab><mode><mode>) (*aarch64_sme_lane_<SME_FP_TERNARY_SLICE:optab><mode><mode>) (@aarch64_sme_<SME_FP_MOP:optab><mode><mode>): Extend to BF16 modes. * config/aarch64/aarch64-sve-builtins.cc (TYPES_za_h_bfloat): New type macro. * config/aarch64/iterators.md (SME_ZA_HSDFx24): Add BF16 modes. (SME_MOP_HSDF): Likewise. gcc/testsuite/ * lib/target-supports.exp: Test the assembler for sve-b16b16 support. * gcc.target/aarch64/pragma_cpp_predefs_4.c: Add tests for __ARM_FEATURE_SME_B16B16. * gcc.target/aarch64/sme2/acle-asm/add_za16_bf16_vg1x2.c: New test. * gcc.target/aarch64/sme2/acle-asm/add_za16_bf16_vg1x4.c: Likewise. * gcc.target/aarch64/sme2/acle-asm/mla_lane_za16_bf16_vg1x2.c: Likewise. * gcc.target/aarch64/sme2/acle-asm/mla_lane_za16_bf16_vg1x4.c: Likewise. * gcc.target/aarch64/sme2/acle-asm/mla_za16_bf16_vg1x2.c: Likewise. * gcc.target/aarch64/sme2/acle-asm/mla_za16_bf16_vg1x4.c: Likewise. * gcc.target/aarch64/sme2/acle-asm/mls_lane_za16_bf16_vg1x2.c: Likewise. * gcc.target/aarch64/sme2/acle-asm/mls_lane_za16_bf16_vg1x4.c: Likewise. * gcc.target/aarch64/sme2/acle-asm/mls_za16_bf16_vg1x2.c: Likewise. * gcc.target/aarch64/sme2/acle-asm/mls_za16_bf16_vg1x4.c: Likewise. * gcc.target/aarch64/sme2/acle-asm/mopa_za16_bf16.c: Likewise. * gcc.target/aarch64/sme2/acle-asm/mops_za16_bf16.c: Likewise. * gcc.target/aarch64/sme2/acle-asm/sub_za16_bf16_vg1x2.c: Likewise. * gcc.target/aarch64/sme2/acle-asm/sub_za16_bf16_vg1x4.c: Likewise.
Showing
- gcc/config/aarch64/aarch64-c.cc 2 additions, 0 deletionsgcc/config/aarch64/aarch64-c.cc
- gcc/config/aarch64/aarch64-option-extensions.def 2 additions, 0 deletionsgcc/config/aarch64/aarch64-option-extensions.def
- gcc/config/aarch64/aarch64-sme.md 12 additions, 8 deletionsgcc/config/aarch64/aarch64-sme.md
- gcc/config/aarch64/aarch64-sve-builtins-sme.def 15 additions, 0 deletionsgcc/config/aarch64/aarch64-sve-builtins-sme.def
- gcc/config/aarch64/aarch64-sve-builtins.cc 5 additions, 0 deletionsgcc/config/aarch64/aarch64-sve-builtins.cc
- gcc/config/aarch64/aarch64.h 4 additions, 0 deletionsgcc/config/aarch64/aarch64.h
- gcc/config/aarch64/iterators.md 5 additions, 2 deletionsgcc/config/aarch64/iterators.md
- gcc/doc/invoke.texi 3 additions, 0 deletionsgcc/doc/invoke.texi
- gcc/testsuite/gcc.target/aarch64/pragma_cpp_predefs_4.c 17 additions, 0 deletionsgcc/testsuite/gcc.target/aarch64/pragma_cpp_predefs_4.c
- gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/add_za16_bf16_vg1x2.c 126 additions, 0 deletions...te/gcc.target/aarch64/sme2/acle-asm/add_za16_bf16_vg1x2.c
- gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/add_za16_bf16_vg1x4.c 141 additions, 0 deletions...te/gcc.target/aarch64/sme2/acle-asm/add_za16_bf16_vg1x4.c
- gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/mla_lane_za16_bf16_vg1x2.c 106 additions, 0 deletions...c.target/aarch64/sme2/acle-asm/mla_lane_za16_bf16_vg1x2.c
- gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/mla_lane_za16_bf16_vg1x4.c 112 additions, 0 deletions...c.target/aarch64/sme2/acle-asm/mla_lane_za16_bf16_vg1x4.c
- gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/mla_za16_bf16_vg1x2.c 184 additions, 0 deletions...te/gcc.target/aarch64/sme2/acle-asm/mla_za16_bf16_vg1x2.c
- gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/mla_za16_bf16_vg1x4.c 176 additions, 0 deletions...te/gcc.target/aarch64/sme2/acle-asm/mla_za16_bf16_vg1x4.c
- gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/mls_lane_za16_bf16_vg1x2.c 106 additions, 0 deletions...c.target/aarch64/sme2/acle-asm/mls_lane_za16_bf16_vg1x2.c
- gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/mls_lane_za16_bf16_vg1x4.c 112 additions, 0 deletions...c.target/aarch64/sme2/acle-asm/mls_lane_za16_bf16_vg1x4.c
- gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/mls_za16_bf16_vg1x2.c 184 additions, 0 deletions...te/gcc.target/aarch64/sme2/acle-asm/mls_za16_bf16_vg1x2.c
- gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/mls_za16_bf16_vg1x4.c 176 additions, 0 deletions...te/gcc.target/aarch64/sme2/acle-asm/mls_za16_bf16_vg1x4.c
- gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/mopa_za16_bf16.c 34 additions, 0 deletions...stsuite/gcc.target/aarch64/sme2/acle-asm/mopa_za16_bf16.c
Loading
Please register or sign in to comment