[llvm] r273148 - [AARCH64] Add support for Broadcom Vulcan

Eric Christopher via llvm-commits llvm-commits at lists.llvm.org
Mon Jun 20 13:50:10 PDT 2016


>
> +def ProcVulcan  : SubtargetFeature<"vulcan", "ARMProcFamily", "Vulcan",
> +                                   "Broadcom Vulcan processors", [
> +                                   FeatureFPARMv8,
> +                                   FeatureNEON,
> +                                   FeatureCrypto,
> +                                   FeatureCRC,
> +                                   HasV8_1aOps]>;
> +
>

So, why are all of the processors given as SubtargetFeatures as well as
processors? This seems ... less than optimal. I.e. I can't come up with a
reason I'd want to say "llc -mattr=+vulcan" rather than llc -mcpu=vulcan.

-eric


>  def : ProcessorModel<"generic", NoSchedModel, [
>                       FeatureCRC,
>                       FeatureFPARMv8,
> @@ -233,6 +241,7 @@ def : ProcessorModel<"cortex-a73", Corte
>  def : ProcessorModel<"cyclone", CycloneModel, [ProcCyclone]>;
>  def : ProcessorModel<"exynos-m1", ExynosM1Model, [ProcExynosM1]>;
>  def : ProcessorModel<"kryo", KryoModel, [ProcKryo]>;
> +def : ProcessorModel<"vulcan", NoSchedModel, [ProcVulcan]>;
>
>
>  //===----------------------------------------------------------------------===//
>  // Assembly parser
>
> Modified: llvm/trunk/lib/Target/AArch64/AArch64Subtarget.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/AArch64/AArch64Subtarget.cpp?rev=273148&r1=273147&r2=273148&view=diff
>
> ==============================================================================
> --- llvm/trunk/lib/Target/AArch64/AArch64Subtarget.cpp (original)
> +++ llvm/trunk/lib/Target/AArch64/AArch64Subtarget.cpp Mon Jun 20 06:13:31
> 2016
> @@ -71,6 +71,7 @@ void AArch64Subtarget::initializePropert
>      MaxInterleaveFactor = 4;
>      VectorInsertExtractBaseCost = 2;
>      break;
> +  case Vulcan: break;
>    case CortexA35: break;
>    case CortexA53: break;
>    case Others: break;
>
> Modified: llvm/trunk/lib/Target/AArch64/AArch64Subtarget.h
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/AArch64/AArch64Subtarget.h?rev=273148&r1=273147&r2=273148&view=diff
>
> ==============================================================================
> --- llvm/trunk/lib/Target/AArch64/AArch64Subtarget.h (original)
> +++ llvm/trunk/lib/Target/AArch64/AArch64Subtarget.h Mon Jun 20 06:13:31
> 2016
> @@ -41,7 +41,8 @@ public:
>      CortexA57,
>      Cyclone,
>      ExynosM1,
> -    Kryo
> +    Kryo,
> +    Vulcan
>    };
>
>  protected:
>
> Modified: llvm/trunk/test/CodeGen/AArch64/cpus.ll
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/AArch64/cpus.ll?rev=273148&r1=273147&r2=273148&view=diff
>
> ==============================================================================
> --- llvm/trunk/test/CodeGen/AArch64/cpus.ll (original)
> +++ llvm/trunk/test/CodeGen/AArch64/cpus.ll Mon Jun 20 06:13:31 2016
> @@ -9,6 +9,7 @@
>  ; RUN: llc < %s -mtriple=arm64-unknown-unknown -mcpu=cortex-a73 2>&1 |
> FileCheck %s
>  ; RUN: llc < %s -mtriple=arm64-unknown-unknown -mcpu=exynos-m1 2>&1 |
> FileCheck %s
>  ; RUN: llc < %s -mtriple=arm64-unknown-unknown -mcpu=kryo 2>&1 |
> FileCheck %s
> +; RUN: llc < %s -mtriple=arm64-unknown-unknown -mcpu=vulcan 2>&1 |
> FileCheck %s
>  ; RUN: llc < %s -mtriple=arm64-unknown-unknown -mcpu=invalidcpu 2>&1 |
> FileCheck %s --check-prefix=INVALID
>
>  ; CHECK-NOT: {{.*}}  is not a recognized processor for this target
>
> Modified: llvm/trunk/test/CodeGen/AArch64/remat.ll
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/AArch64/remat.ll?rev=273148&r1=273147&r2=273148&view=diff
>
> ==============================================================================
> --- llvm/trunk/test/CodeGen/AArch64/remat.ll (original)
> +++ llvm/trunk/test/CodeGen/AArch64/remat.ll Mon Jun 20 06:13:31 2016
> @@ -5,6 +5,7 @@
>  ; RUN: llc -mtriple=aarch64-linux-gnuabi -mcpu=cortex-a73 -o - %s |
> FileCheck %s
>  ; RUN: llc -mtriple=aarch64-linux-gnuabi -mcpu=exynos-m1 -o - %s |
> FileCheck %s
>  ; RUN: llc -mtriple=aarch64-linux-gnuabi -mcpu=kryo -o - %s | FileCheck %s
> +; RUN: llc -mtriple=aarch64-linux-gnuabi -mcpu=vulcan -o - %s | FileCheck
> %s
>
>  %X = type { i64, i64, i64 }
>  declare void @f(%X*)
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160620/161fd6eb/attachment.html>


More information about the llvm-commits mailing list