summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGeoff Berry <gberry@codeaurora.org>2017-06-19 21:57:42 +0000
committerGeoff Berry <gberry@codeaurora.org>2017-06-19 21:57:42 +0000
commite9972cabbdccb4935cced8e60e1dd9b897a0252e (patch)
tree8e96e253c6b908ae2a2e5e89a282104d5fd17d37
parent3cc4b9f780323d82a1ab6efa7e997249b8913364 (diff)
downloadbcm5719-llvm-e9972cabbdccb4935cced8e60e1dd9b897a0252e.tar.gz
bcm5719-llvm-e9972cabbdccb4935cced8e60e1dd9b897a0252e.zip
[AArch64][Kryo] Add missing write latency for LDAXP, LDXP second destination.
Fixes PR33491 and PR33512. llvm-svn: 305751
-rw-r--r--llvm/lib/Target/AArch64/AArch64SchedKryoDetails.td6
1 files changed, 4 insertions, 2 deletions
diff --git a/llvm/lib/Target/AArch64/AArch64SchedKryoDetails.td b/llvm/lib/Target/AArch64/AArch64SchedKryoDetails.td
index 02cccccd307..cf4cdabb8cb 100644
--- a/llvm/lib/Target/AArch64/AArch64SchedKryoDetails.td
+++ b/llvm/lib/Target/AArch64/AArch64SchedKryoDetails.td
@@ -1374,7 +1374,9 @@ def KryoWrite_3cyc_LS_LS_400ln :
let Latency = 3; let NumMicroOps = 2;
}
def : InstRW<[KryoWrite_3cyc_LS_LS_400ln],
- (instregex "(LDAX?R(B|H|W|X)|LDAXP(W|X))")>;
+ (instregex "LDAX?R(B|H|W|X)")>;
+def : InstRW<[KryoWrite_3cyc_LS_LS_400ln, WriteLDHi],
+ (instregex "LDAXP(W|X)")>;
def KryoWrite_3cyc_LS_LS_401ln :
SchedWriteRes<[KryoUnitLS, KryoUnitLS]> {
let Latency = 3; let NumMicroOps = 2;
@@ -1565,7 +1567,7 @@ def KryoWrite_3cyc_LS_258ln :
SchedWriteRes<[KryoUnitLS]> {
let Latency = 3; let NumMicroOps = 1;
}
-def : InstRW<[KryoWrite_3cyc_LS_258ln],
+def : InstRW<[KryoWrite_3cyc_LS_258ln, WriteLDHi],
(instregex "LDXP(W|X)")>;
def KryoWrite_3cyc_LS_258_1ln :
SchedWriteRes<[KryoUnitLS]> {
OpenPOWER on IntegriCloud