[PATCH] D77940: [AArch64] Add NVIDIA Carmel support

Raul Tambre via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Thu Apr 23 11:53:36 PDT 2020


tambre added a comment.

In D77940#1998856 <https://reviews.llvm.org/D77940#1998856>, @sdesmalen wrote:

> It seems a NVIDIA Developer Program Membership is needed in order to download the TRM. I'm not sure if that is just a matter of creating an account, but without it I can't really verify that the architecture version and the features are correct and complete.


I was afraid that'd be the case. The "NVIDIA Developer Program Membership" should be free to join if you register and give them some of your information.



================
Comment at: clang/test/Preprocessor/aarch64-target-features.c:183
 // CHECK-MCPU-A64FX: "-cc1"{{.*}} "-triple" "aarch64{{.*}}" "-target-feature" "+v8.2a" "-target-feature" "+fp-armv8" "-target-feature" "+neon" "-target-feature" "+crc" "-target-feature" "+crypto" "-target-feature" "+fullfp16" "-target-feature" "+ras" "-target-feature" "+lse" "-target-feature" "+rdm" "-target-feature" "+sve" "-target-feature" "+sha2"
+// CHECK-MCPU-CARMEL: "-cc1"{{.*}} "-triple" "aarch64{{.*}}" "-target-feature" "+v8.2a" "-target-feature" "+fp-armv8" "-target-feature" "+neon" "-target-feature" "+crc" "-target-feature" "+crypto" "-target-feature" "+fullfp16" "-target-feature" "+ras" "-target-feature" "+lse" "-target-feature" "+rdm" "-target-feature" "+sve" "-target-feature" "+sha2" "-target-feature" "+aes"
 
----------------
sdesmalen wrote:
> This test references unsupported features.
I think only SVE was wrong here. Removed it.


================
Comment at: llvm/include/llvm/Support/AArch64TargetParser.def:181
+AARCH64_CPU_NAME("carmel", ARMV8_2A, FK_CRYPTO_NEON_FP_ARMV8, false,
+                 (AArch64::AEK_FP16 | AArch64::AEK_SVE))
 // Invalid CPU
----------------
sdesmalen wrote:
> This still references `AEK_SVE`.
Fixed.


================
Comment at: llvm/unittests/Support/TargetParserTest.cpp:1134
                                    AArch64::ArchKind::INVALID, "sve2"));
+  EXPECT_TRUE(
+      testAArch64Extension("carmel", AArch64::ArchKind::INVALID, "fp16"));
----------------
sdesmalen wrote:
> nit: It seems a bit arbitrary to only check for fp16 here?
I based this off mostly of what was already here. I think most extensions are covered by architecture extension tests. I've added crypto here though.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D77940





More information about the cfe-commits mailing list