summaryrefslogtreecommitdiff
path: root/lib/Target/ARM/ARMScheduleA8.td
diff options
context:
space:
mode:
authorEvan Cheng <evan.cheng@apple.com>2010-10-01 20:50:58 +0000
committerEvan Cheng <evan.cheng@apple.com>2010-10-01 20:50:58 +0000
commitcae6a12a999ef9434f110950d453814ab41d2156 (patch)
treec1f3cf1a47464947a37ea9c0aef5424b5b6e0cb0 /lib/Target/ARM/ARMScheduleA8.td
parent45547b844d6a1cd69d6f71ec304948896c89bf43 (diff)
downloadllvm-cae6a12a999ef9434f110950d453814ab41d2156.tar.gz
llvm-cae6a12a999ef9434f110950d453814ab41d2156.tar.bz2
llvm-cae6a12a999ef9434f110950d453814ab41d2156.tar.xz
NEON scheduling info fix. vmov reg, reg are single cycle instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115344 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/ARM/ARMScheduleA8.td')
-rw-r--r--lib/Target/ARM/ARMScheduleA8.td8
1 files changed, 8 insertions, 0 deletions
diff --git a/lib/Target/ARM/ARMScheduleA8.td b/lib/Target/ARM/ARMScheduleA8.td
index ff2a673c26..d2e1df13f9 100644
--- a/lib/Target/ARM/ARMScheduleA8.td
+++ b/lib/Target/ARM/ARMScheduleA8.td
@@ -487,6 +487,10 @@ def CortexA8Itineraries : ProcessorItineraries<
InstrItinData<IIC_VBINQ, [InstrStage<1, [A8_Pipe0, A8_Pipe1]>,
InstrStage<2, [A8_NPipe]>], [6, 2, 2]>,
//
+ // Move
+ InstrItinData<IIC_VMOV, [InstrStage<1, [A8_Pipe0, A8_Pipe1]>,
+ InstrStage<1, [A8_NPipe]>], [1, 1]>,
+ //
// Move Immediate
InstrItinData<IIC_VMOVImm, [InstrStage<1, [A8_Pipe0, A8_Pipe1]>,
InstrStage<1, [A8_NPipe]>], [3]>,
@@ -521,6 +525,10 @@ def CortexA8Itineraries : ProcessorItineraries<
InstrItinData<IIC_VMOVISL , [InstrStage<1, [A8_Pipe0, A8_Pipe1]>,
InstrStage<2, [A8_NLSPipe]>], [3, 1, 1]>,
//
+ // Vector narrow move
+ InstrItinData<IIC_VMOVN , [InstrStage<1, [A8_Pipe0, A8_Pipe1]>,
+ InstrStage<1, [A8_NPipe]>], [3, 1]>,
+ //
// Double-register Permute
InstrItinData<IIC_VPERMD, [InstrStage<1, [A8_Pipe0, A8_Pipe1]>,
InstrStage<1, [A8_NLSPipe]>], [2, 2, 1, 1]>,