[PATCH] D60828: [ARM] Fix armv8 features tree and add fp16fml

Oliver Stannard (Linaro) via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Wed Apr 17 09:16:11 PDT 2019


ostannard added a reviewer: simon_tatham.
ostannard added inline comments.


================
Comment at: lib/Basic/Targets/ARM.cpp:443
       HasLegalHalfType = true;
+      HW_FP |= HW_FP_SP | HW_FP_DP | HW_FP_HP;
+      FPU |= VFP4FPU;
----------------
Is it always correct to set HW_FP_DP here, now that MVE can have full fp16 without double-precision? I'll add Simon since he's working on that.


================
Comment at: lib/Basic/Targets/ARM.cpp:444
+      HW_FP |= HW_FP_SP | HW_FP_DP | HW_FP_HP;
+      FPU |= VFP4FPU;
     } else if (Feature == "+dotprod") {
----------------
Should this be FPARMV8, since fullfp16 doesn't apply to earlier architectures? Maybe MVE  complicates this even further?


================
Comment at: lib/Basic/Targets/ARM.cpp:446
     } else if (Feature == "+dotprod") {
+      FPU |= NeonFPU;
+      HW_FP |= HW_FP_SP | HW_FP_DP;
----------------
Should this also add FPARMV8?


================
Comment at: lib/Basic/Targets/ARM.cpp:452
+      HasLegalHalfType = true;
+      FPU |= VFP4FPU;
+      HW_FP |= HW_FP_SP | HW_FP_DP | HW_FP_HP;
----------------
Again, should this be FPARMV8?


================
Comment at: lib/Basic/Targets/ARM.cpp:453
+      FPU |= VFP4FPU;
+      HW_FP |= HW_FP_SP | HW_FP_DP | HW_FP_HP;
     }
----------------
You are adding HW_FP_HP twice.


================
Comment at: test/CodeGen/arm_neon_intrinsics.c:8
+// RUN: %clang -O1 -target armv8a-linux-eabi -march=armv8a+fp16fml\
+// RUN:  -S -emit-llvm -o - %s | FileCheck %s.v8
+
----------------
Does the generate code differ enough to have a second copy of it? Actually, I assume the problem here is that we are not setting the correct preprocessor macros? in which case, it would be better to test them directly, than by re-running this 21kloc test.


Repository:
  rC Clang

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D60828/new/

https://reviews.llvm.org/D60828





More information about the cfe-commits mailing list