diff options
| author | Evandro Menezes <e.menezes@samsung.com> | 2016-06-23 23:43:23 +0000 |
|---|---|---|
| committer | Evandro Menezes <e.menezes@samsung.com> | 2016-06-23 23:43:23 +0000 |
| commit | 62c70101c3400dec8d2cd82ea0bfdff90215bce9 (patch) | |
| tree | b3d61f36b12d262af2d971ef7b788fa37668afaa /llvm | |
| parent | 0ec8ab680fe9696c4bb69c945e3d0271b8dfef6c (diff) | |
| download | bcm5719-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.td | 6 |
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")>; |

