]> granicus.if.org Git - llvm/commitdiff
[AArch64] Fix scheduling info for INS(vector, general) instruction.
authorBalaram Makam <bmakam@codeaurora.org>
Tue, 11 Apr 2017 22:14:10 +0000 (22:14 +0000)
committerBalaram Makam <bmakam@codeaurora.org>
Tue, 11 Apr 2017 22:14:10 +0000 (22:14 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@299994 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/AArch64/AArch64SchedFalkorDetails.td
lib/Target/AArch64/AArch64SchedFalkorWriteRes.td

index 57b24dc40b4ef03b4a58c1baac57faf53e877f59..6bce4ef6b652bfa13f05f357755b25ae614e51ca 100644 (file)
@@ -292,8 +292,8 @@ def : InstRW<[FalkorWr_1VXVY_5cyc],   (instrs FRECPS32, FRSQRTS32, FRECPSv2f32,
 
 def : InstRW<[FalkorWr_1VXVY_6cyc],   (instrs FRECPS64, FRSQRTS64)>;
 
+def : InstRW<[FalkorWr_1GTOV_1VXVY_2cyc],(instregex "^INSv(i32|i64)(gpr|lane)$")>;
 def : InstRW<[FalkorWr_2GTOV_1cyc],   (instregex "^DUP(v4i32|v2i64)(gpr|lane)$")>;
-def : InstRW<[FalkorWr_2GTOV_1cyc],   (instregex "^INSv(i32|i64)(gpr|lane)$")>;
 def : InstRW<[FalkorWr_2VXVY_1cyc],   (instrs EXTv16i8)>;
 def : InstRW<[FalkorWr_2VXVY_1cyc],   (instregex "(MOVI|MVNI)(v2d_ns|v16b_ns|v4i32|v8i16|v4s_msl)$")>;
 def : InstRW<[FalkorWr_2VXVY_1cyc],   (instrs NOTv16i8)>;
index 93f930761d75d80a395a0b1141179c94dbc718d2..9cdb4be4246bc8c3daa0cc08a79fb7ac6f4be949 100644 (file)
@@ -118,6 +118,11 @@ def FalkorWr_1VX_1VY_10cyc : SchedWriteRes<[FalkorUnitVX, FalkorUnitVY]> {
   let NumMicroOps = 2;
 }
 
+def FalkorWr_1GTOV_1VXVY_2cyc : SchedWriteRes<[FalkorUnitGTOV, FalkorUnitVXVY]> {
+  let Latency = 2;
+  let NumMicroOps = 2;
+}
+
 def FalkorWr_2GTOV_1cyc    : SchedWriteRes<[FalkorUnitGTOV, FalkorUnitGTOV]> {
   let Latency = 1;
   let NumMicroOps = 2;