summaryrefslogtreecommitdiff
path: root/lib/Target/ARM/ARMScheduleA8.td
diff options
context:
space:
mode:
authorEvan Cheng <evan.cheng@apple.com>2010-10-11 23:41:41 +0000
committerEvan Cheng <evan.cheng@apple.com>2010-10-11 23:41:41 +0000
commit08cec1ef27d4f27320f871cf17fd742196465232 (patch)
tree206e9ecc6b1ea55efdbf1ce5b357e464923f4af4 /lib/Target/ARM/ARMScheduleA8.td
parent633e7023177837537adabf775395ebe7ab51b38f (diff)
downloadllvm-08cec1ef27d4f27320f871cf17fd742196465232.tar.gz
llvm-08cec1ef27d4f27320f871cf17fd742196465232.tar.bz2
llvm-08cec1ef27d4f27320f871cf17fd742196465232.tar.xz
More ARM scheduling itinerary fixes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116266 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/ARM/ARMScheduleA8.td')
-rw-r--r--lib/Target/ARM/ARMScheduleA8.td13
1 files changed, 13 insertions, 0 deletions
diff --git a/lib/Target/ARM/ARMScheduleA8.td b/lib/Target/ARM/ARMScheduleA8.td
index e318950b0f..7573182434 100644
--- a/lib/Target/ARM/ARMScheduleA8.td
+++ b/lib/Target/ARM/ARMScheduleA8.td
@@ -665,12 +665,25 @@ def CortexA8Itineraries : ProcessorItineraries<
InstrItinData<IIC_VBIND, [InstrStage<1, [A8_Pipe0, A8_Pipe1]>,
InstrStage<1, [A8_NPipe]>], [5, 2, 2]>,
//
+ // VPADD, etc.
+ InstrItinData<IIC_VPBIND, [InstrStage<1, [A8_Pipe0, A8_Pipe1]>,
+ InstrStage<1, [A8_NPipe]>], [5, 2, 2]>,
+ //
+ // Double-register FP VMUL
+ InstrItinData<IIC_VFMULD, [InstrStage<1, [A8_Pipe0, A8_Pipe1]>,
+ InstrStage<1, [A8_NPipe]>], [5, 2, 1]>,
+
+ //
// Quad-register FP Binary
// Result written in N5, but that is relative to the last cycle of multicycle,
// so we use 6 for those cases
InstrItinData<IIC_VBINQ, [InstrStage<1, [A8_Pipe0, A8_Pipe1]>,
InstrStage<2, [A8_NPipe]>], [6, 2, 2]>,
//
+ // Quad-register FP VMUL
+ InstrItinData<IIC_VFMULQ, [InstrStage<1, [A8_Pipe0, A8_Pipe1]>,
+ InstrStage<1, [A8_NPipe]>], [6, 2, 1]>,
+ //
// Move
InstrItinData<IIC_VMOV, [InstrStage<1, [A8_Pipe0, A8_Pipe1]>,
InstrStage<1, [A8_NPipe]>], [1, 1]>,