+2017-03-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ PR target/71436
+ * config/arm/arm.md (*load_multiple): Add reload_completed to
+ matching condition.
+
2017-03-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
Richard Biener <rguenth@suse.com>
;; Patterns in ldmstm.md don't cover more than 4 registers. This pattern covers
;; large lists without explicit writeback generated for APCS_FRAME epilogue.
+;; The operands are validated through the load_multiple_operation
+;; match_parallel predicate rather than through constraints so enable it only
+;; after reload.
(define_insn "*load_multiple"
[(match_parallel 0 "load_multiple_operation"
[(set (match_operand:SI 2 "s_register_operand" "=rk")
(mem:SI (match_operand:SI 1 "s_register_operand" "rk")))
])]
- "TARGET_32BIT"
+ "TARGET_32BIT && reload_completed"
"*
{
arm_output_multireg_pop (operands, /*return_pc=*/false,
+2017-03-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ PR target/71436
+ * gcc.c-torture/compile/pr71436.c: New test.
+
2017-03-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
Richard Biener <rguenther@suse.de>