From c8bf0f86624f025ca7c2b5cfc35ef3fb904a3930 Mon Sep 17 00:00:00 2001 From: Silviu Baranga Date: Mon, 17 Sep 2012 14:10:54 +0000 Subject: [PATCH] Removed the VMLxForwarding feature for the Cortex-A15 target. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164030 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Target/ARM/ARM.td | 3 +-- test/CodeGen/ARM/a15-mla.ll | 12 ++++++++++++ 2 files changed, 13 insertions(+), 2 deletions(-) create mode 100644 test/CodeGen/ARM/a15-mla.ll diff --git a/lib/Target/ARM/ARM.td b/lib/Target/ARM/ARM.td index ab57779b580..1fb190ca112 100644 --- a/lib/Target/ARM/ARM.td +++ b/lib/Target/ARM/ARM.td @@ -142,8 +142,7 @@ def ProcA9 : SubtargetFeature<"a9", "ARMProcFamily", "CortexA9", // FIXME: It has not been determined if A15 has these features. def ProcA15 : SubtargetFeature<"a15", "ARMProcFamily", "CortexA15", "Cortex-A15 ARM processors", - [FeatureVMLxForwarding, - FeatureT2XtPk, FeatureFP16, + [FeatureT2XtPk, FeatureFP16, FeatureAvoidPartialCPSR]>; class ProcNoItin Features> diff --git a/test/CodeGen/ARM/a15-mla.ll b/test/CodeGen/ARM/a15-mla.ll new file mode 100644 index 00000000000..25f6de4762d --- /dev/null +++ b/test/CodeGen/ARM/a15-mla.ll @@ -0,0 +1,12 @@ +; RUN: llc < %s -march=arm -float-abi=hard -mcpu=cortex-a15 -mattr=+neon,+neonfp | FileCheck %s + +; This test checks that the VMLxForwarting feature is disabled for A15. +; CHECK: fun_a +define <4 x i32> @fun_a(<4 x i32> %x, <4 x i32> %y) nounwind{ + %1 = add <4 x i32> %x, %y +; CHECK-NOT: vmul +; CHECK: vmla + %2 = mul <4 x i32> %1, %1 + %3 = add <4 x i32> %y, %2 + ret <4 x i32> %3 +}