The ARMv8.1 architecture extension adds two Adv.SIMD instructions, sqrdmlah and sqrdmlsh. This patch adds the feature macro __ARM_FEATURE_QRDMX to indicate the presence of these instructions, generating it when the feature is available, as it is when -march=armv8.1-a is selected.
Tested the series for aarch64-none-linux-gnu with native bootstrap and make check on an ARMv8 architecture. Also tested aarch64-none-elf with cross-compiled check-gcc on an ARMv8.1 emulator. Ok for trunk? Matthew gcc/ 2015-10-23 Matthew Wahab <matthew.wa...@arm.com> * config/aarch64/aarch64-c.c (aarch64_update_cpp_builtins): Add ARM_FEATURE_QRDMX.
>From 3af8c483a2def95abec264ca8591547d6c0e0b3e Mon Sep 17 00:00:00 2001 From: Matthew Wahab <matthew.wa...@arm.com> Date: Thu, 27 Aug 2015 13:31:49 +0100 Subject: [PATCH 4/7] Add ACLE QRDMX feature macro. Change-Id: I91af172637603ea89fc93a8e715973d7d304a92f --- gcc/config/aarch64/aarch64-c.c | 1 + 1 file changed, 1 insertion(+) diff --git a/gcc/config/aarch64/aarch64-c.c b/gcc/config/aarch64/aarch64-c.c index 303025f..ad95c78 100644 --- a/gcc/config/aarch64/aarch64-c.c +++ b/gcc/config/aarch64/aarch64-c.c @@ -126,6 +126,7 @@ aarch64_update_cpp_builtins (cpp_reader *pfile) aarch64_def_or_undef (TARGET_ILP32, "__ILP32__", pfile); aarch64_def_or_undef (TARGET_CRYPTO, "__ARM_FEATURE_CRYPTO", pfile); + aarch64_def_or_undef (TARGET_SIMD_RDMA, "__ARM_FEATURE_QRDMX", pfile); } /* Implement TARGET_CPU_CPP_BUILTINS. */ -- 2.1.4