[llvm] r273630 - [AArch64] Model the cost of vector by element FP multiplies on Exynos M1. (NFC)

Evandro Menezes via llvm-commits llvm-commits at lists.llvm.org
Thu Jun 23 16:43:23 PDT 2016


Author: evandro
Date: Thu Jun 23 18:43:23 2016
New Revision: 273630

URL: http://llvm.org/viewvc/llvm-project?rev=273630&view=rev
Log:
[AArch64] Model the cost of vector by element FP multiplies on Exynos M1. (NFC)

Modified:
    llvm/trunk/lib/Target/AArch64/AArch64SchedM1.td

Modified: llvm/trunk/lib/Target/AArch64/AArch64SchedM1.td
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/AArch64/AArch64SchedM1.td?rev=273630&r1=273629&r2=273630&view=diff
==============================================================================
--- llvm/trunk/lib/Target/AArch64/AArch64SchedM1.td (original)
+++ llvm/trunk/lib/Target/AArch64/AArch64SchedM1.td Thu Jun 23 18:43:23 2016
@@ -187,6 +187,10 @@ def M1WriteNEONH   : SchedWriteRes<[M1Un
                                     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
 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")>;
 




More information about the llvm-commits mailing list