summaryrefslogtreecommitdiffstats
path: root/llvm
diff options
context:
space:
mode:
authorEvandro Menezes <e.menezes@samsung.com>2016-06-23 23:43:23 +0000
committerEvandro Menezes <e.menezes@samsung.com>2016-06-23 23:43:23 +0000
commit62c70101c3400dec8d2cd82ea0bfdff90215bce9 (patch)
treeb3d61f36b12d262af2d971ef7b788fa37668afaa /llvm
parent0ec8ab680fe9696c4bb69c945e3d0271b8dfef6c (diff)
downloadbcm5719-llvm-62c70101c3400dec8d2cd82ea0bfdff90215bce9.tar.gz
bcm5719-llvm-62c70101c3400dec8d2cd82ea0bfdff90215bce9.zip
[AArch64] Model the cost of vector by element FP multiplies on Exynos M1. (NFC)
llvm-svn: 273630
Diffstat (limited to 'llvm')
-rw-r--r--llvm/lib/Target/AArch64/AArch64SchedM1.td6
1 files changed, 6 insertions, 0 deletions
diff --git a/llvm/lib/Target/AArch64/AArch64SchedM1.td b/llvm/lib/Target/AArch64/AArch64SchedM1.td
index 115ee961f34..a0c4ee86771 100644
--- a/llvm/lib/Target/AArch64/AArch64SchedM1.td
+++ b/llvm/lib/Target/AArch64/AArch64SchedM1.td
@@ -187,6 +187,10 @@ def M1WriteNEONH : SchedWriteRes<[M1UnitNALU,
M1UnitFST]> { let Latency = 3; }
def M1WriteNEONI : SchedWriteRes<[M1UnitFST,
M1UnitL]> { let Latency = 9; }
+def M1WriteNEONJ : SchedWriteRes<[M1UnitNMISC,
+ M1UnitFMAC]> { let Latency = 6; }
+def M1WriteNEONK : SchedWriteRes<[M1UnitNMISC,
+ M1UnitFMAC]> { let Latency = 7; }
def M1WriteALU1 : SchedWriteRes<[M1UnitALU]> { let Latency = 1; }
def M1WriteB : SchedWriteRes<[M1UnitB]> { let Latency = 1; }
// FIXME: This is the worst case, conditional branch and link.
@@ -305,7 +309,9 @@ def : InstRW<[M1WriteFVAR15], (instregex "FSQRTv.f32")>;
def : InstRW<[M1WriteFVAR23], (instregex "FSQRTv2f64")>;
def : InstRW<[M1WriteNMISC1], (instregex "^F(MAX|MIN)(NM)?V?v")>;
def : InstRW<[M1WriteNMISC2], (instregex "^F(MAX|MIN)(NM)?Pv")>;
+def : InstRW<[M1WriteNEONJ], (instregex "^FMULX?v.+_indexed")>;
def : InstRW<[M1WriteFMAC4], (instregex "^FMULX?v")>;
+def : InstRW<[M1WriteNEONK], (instregex "^FML[AS]v.+_indexed")>;
def : InstRW<[M1WriteFMAC5], (instregex "^FML[AS]v")>;
def : InstRW<[M1WriteFCVT3], (instregex "^FRINT[AIMNPXZ]v")>;
OpenPOWER on IntegriCloud