[ARM] Restrict {load,store}_multiple expanders to MAX_LD_STM_OPS regs
authorKyrylo Tkachov <kyrylo.tkachov@arm.com>
Thu, 23 Apr 2015 10:26:25 +0000 (10:26 +0000)
committerKyrylo Tkachov <ktkachov@gcc.gnu.org>
Thu, 23 Apr 2015 10:26:25 +0000 (10:26 +0000)
* config/arm/arm.md (load_multiple): Reject operand 2 greater than
MAX_LDM_STM_OPS.
(store_multiple): Likewise.

From-SVN: r222357

gcc/ChangeLog
gcc/config/arm/arm.md

index 488dc89854e865720c3e6a823add441267f611e8..fbc9ce3c97f135372c0bc5205957efa096282926 100644 (file)
@@ -1,3 +1,9 @@
+2015-04-23  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+       * config/arm/arm.md (load_multiple): Reject operand 2 greater than
+       MAX_LDM_STM_OPS.
+       (store_multiple): Likewise.
+
 2015-04-23  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
 
        * config/arm/arm-protos.h (struct tune_params): Add issue_rate field.
index 164ac13a26289bf755c89e78a8a5f751883c6039..1b5e62ec517222e512077b607a8a1e626deac8bb 100644 (file)
 
   /* Support only fixed point registers.  */
   if (!CONST_INT_P (operands[2])
-      || INTVAL (operands[2]) > 14
+      || INTVAL (operands[2]) > MAX_LDM_STM_OPS
       || INTVAL (operands[2]) < 2
       || !MEM_P (operands[1])
       || !REG_P (operands[0])
 
   /* Support only fixed point registers.  */
   if (!CONST_INT_P (operands[2])
-      || INTVAL (operands[2]) > 14
+      || INTVAL (operands[2]) > MAX_LDM_STM_OPS
       || INTVAL (operands[2]) < 2
       || !REG_P (operands[1])
       || !MEM_P (operands[0])