[PATCH] D60828: [ARM] Fix armv8 features tree and add fp16fml
Diogo N. Sampaio via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Wed Apr 17 08:54:53 PDT 2019
dnsampaio created this revision.
dnsampaio added reviewers: ostannard, DavidSpickett.
Herald added subscribers: cfe-commits, kristof.beyls, javed.absar.
Herald added a project: clang.
This patch adds the fp16fml feature parser as well fixes
the FPU and the HW_FP flags when +fullfp16 and +dotprod
features are passed, to account for pre-requisite features.
The ARM backend (ARM.td) defines this tree of feature dependencies:
fp16 vfp3
| / |
vfp4 neon
| \
fp-armv8 FeatureDotProd
|
fullfp16
|
fp16fml
However, clang does not capture that when using +fullfp16 we
also have vfp4, so compiling
tools/clang/test/CodeGen/arm_neon_intrinsics.c
with
clang -target armv8a-linux-eabi -march=armv8.4-a+fp16 -S -emit-llvm
will give an error because vfp4 is not added to the FPU flag.
As test now we can compile that test file with the command
clang -target armv8a-linux-eabi -march=armv8-a+fp16fml -S -emit-llvm
Repository:
rC Clang
https://reviews.llvm.org/D60828
Files:
lib/Basic/Targets/ARM.cpp
test/CodeGen/arm_neon_intrinsics.c
test/CodeGen/arm_neon_intrinsics.c.v8
More information about the cfe-commits
mailing list