[AArch64][SVE] Guard svbfloat16_t with feature macro in ACLE
authorCullen Rhodes <cullen.rhodes@arm.com>
Fri, 19 Jun 2020 12:13:00 +0000 (12:13 +0000)
committerCullen Rhodes <cullen.rhodes@arm.com>
Tue, 23 Jun 2020 10:24:10 +0000 (10:24 +0000)
commitc8fae2bb4afed8073096860d23e5759055c9bf88
treebd051e3eca97679f76762e0f27d1ff4e67ed96ed
parent15b9dc46c6d2eed64dc72143172f5fb0d4049f33
[AArch64][SVE] Guard svbfloat16_t with feature macro in ACLE

Summary:
svbfloat16_t should only be defined if the __ARM_FEATURE_SVE_BF16
feature macro is enabled, similar to the scalar bfloat16_t type. Also,
arm_bf16.h should be included in arm_sve.h when
__ARM_FEATURE_BF16_SCALAR_ARITHMETIC is defined.

Patch also contains a fix for ld1ro intrinsic which should be guarded on
__ARM_FEATURE_SVE_BF16 rather than __ARM_FEATURE_BF16_SCALAR_ARITHMETIC,
and a fix for bfmmla test which was missing
__ARM_FEATURE_BF16_SCALAR_ARITHMETIC and -target-feature +bf16 in the
RUN line.

Reviewed By: fpetrogalli

Differential Revision: https://reviews.llvm.org/D82178
clang/include/clang/Basic/arm_sve.td
clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_bfmmla.c
clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1ro-bfloat.c
clang/utils/TableGen/SveEmitter.cpp