From ec72a0be08d534ac90aba0a339aab1f268071603 Mon Sep 17 00:00:00 2001 From: Evandro Menezes Date: Tue, 6 Sep 2016 19:22:27 +0000 Subject: [PATCH] [AArch64] Adjust the scheduling model for Exynos M1. Further refine the model for stores. llvm-svn: 280735 --- lib/Target/AArch64/AArch64SchedM1.td | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/lib/Target/AArch64/AArch64SchedM1.td b/lib/Target/AArch64/AArch64SchedM1.td index 3cb7141aff9..f09ffb266e3 100644 --- a/lib/Target/AArch64/AArch64SchedM1.td +++ b/lib/Target/AArch64/AArch64SchedM1.td @@ -71,6 +71,12 @@ def M1WriteLA : SchedWriteVariant<[SchedVar, SchedVar]>; +def M1WriteS1 : SchedWriteRes<[M1UnitS]> { let Latency = 1; } +def M1WriteS2 : SchedWriteRes<[M1UnitS]> { let Latency = 2; } +def M1WriteSA : SchedWriteVariant<[SchedVar, + SchedVar]>; + def M1ReadAdrBase : SchedReadVariant<[SchedVar, SchedVar]>; def : SchedAlias; @@ -117,10 +123,9 @@ def : SchedAlias; // Store instructions. def : WriteRes { let Latency = 1; } -// TODO: Extended address requires also the ALU. -def : WriteRes { let Latency = 1; } def : WriteRes { let Latency = 1; } def : WriteRes { let Latency = 1; } +def : SchedAlias; // FP data instructions. def : WriteRes { let Latency = 3; }