[Arm] Enable CLI for Armv8.6-a: armv8.6-a, i8mm and bf16.
authorDennis Zhang <dennis.zhang@arm.com>
Thu, 2 Jan 2020 17:22:53 +0000 (17:22 +0000)
committerDennis Zhang <xczhang@gcc.gnu.org>
Thu, 2 Jan 2020 17:22:53 +0000 (17:22 +0000)
commitf782b66765c9fccc894fff71a843343ee26ccd50
treec386d06ab7f5a17c2ee315adfeebe91d1566c0ec
parentb1b727413010b8243f8a18cc9cc0ef268741b1f0
[Arm] Enable CLI for Armv8.6-a: armv8.6-a, i8mm and bf16.

2020-01-02  Dennis Zhang  <dennis.zhang@arm.com>

* config/arm/arm-c.c (arm_cpu_builtins): Define
__ARM_FEATURE_MATMUL_INT8, __ARM_FEATURE_BF16_VECTOR_ARITHMETIC,
__ARM_FEATURE_BF16_SCALAR_ARITHMETIC, and
__ARM_BF16_FORMAT_ALTERNATIVE when enabled.
* config/arm/arm-cpus.in (armv8_6, i8mm, bf16): New features.
* config/arm/arm-tables.opt: Regenerated.
* config/arm/arm.c (arm_option_reconfigure_globals): Initialize
arm_arch_i8mm and arm_arch_bf16 when enabled.
* config/arm/arm.h (TARGET_I8MM): New macro.
(TARGET_BF16_FP, TARGET_BF16_SIMD): Likewise.
* config/arm/t-aprofile: Add matching rules for -march=armv8.6-a.
* config/arm/t-arm-elf (all_v8_archs): Add armv8.6-a.
* config/arm/t-multilib: Add matching rules for -march=armv8.6-a.
(v8_6_a_simd_variants): New.
(v8_*_a_simd_variants): Add i8mm and bf16.
* doc/invoke.texi (armv8.6-a, i8mm, bf16): Document new options.

2020-01-02  Dennis Zhang  <dennis.zhang@arm.com>

* gcc.target/arm/multilib.exp: Add combination tests for armv8.6-a.

From-SVN: r279839
12 files changed:
gcc/ChangeLog
gcc/config/arm/arm-c.c
gcc/config/arm/arm-cpus.in
gcc/config/arm/arm-tables.opt
gcc/config/arm/arm.c
gcc/config/arm/arm.h
gcc/config/arm/t-aprofile
gcc/config/arm/t-arm-elf
gcc/config/arm/t-multilib
gcc/doc/invoke.texi
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/arm/multilib.exp