[AArch64] Adjusts Cortex-A57 machine model to handle zero shift.
authorChad Rosier <mcrosier@codeaurora.org>
Fri, 10 Apr 2015 13:19:21 +0000 (13:19 +0000)
committerChad Rosier <mcrosier@codeaurora.org>
Fri, 10 Apr 2015 13:19:21 +0000 (13:19 +0000)
http://reviews.llvm.org/D8043
Patch by Dave Estes <cestes@codeaurora.org>!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@234593 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/AArch64/AArch64SchedA57.td

index 3ec41578a94ce3f5feb7d95493424a550caee7df..cbc8d184782b5af6959eda09a0ec637a69ee2c2c 100644 (file)
@@ -127,6 +127,15 @@ def : InstRW<[A57Write_1cyc_1B_1I], (instrs BL)>;
 def : InstRW<[A57Write_2cyc_1B_1I], (instrs BLR)>;
 
 
+// Shifted Register with Shift == 0
+// ----------------------------------------------------------------------------
+
+def A57WriteISReg : SchedWriteVariant<[
+       SchedVar<RegShiftedPred, [WriteISReg]>,
+       SchedVar<NoSchedPred, [WriteI]>]>;
+def : InstRW<[A57WriteISReg], (instregex ".*rs$")>;
+
+
 // Divide and Multiply Instructions
 // -----------------------------------------------------------------------------