PR rtl-optimization/92264
* config/stormy16/stormy16.c (xstormy16_preferred_reload_class): Handle
reloading of auto-increment addressing modes.
+2020-04-03 Jeff Law <law@redhat.com>
+
+ PR rtl-optimization/92264
+ * config/stormy16/stormy16.c (xstormy16_preferred_reload_class): Handle
+ reloading of auto-increment addressing modes.
+
2020-04-03 H.J. Lu <hongjiu.lu@intel.com>
PR target/94467
static reg_class_t
xstormy16_preferred_reload_class (rtx x, reg_class_t rclass)
{
- if (rclass == GENERAL_REGS && MEM_P (x))
+ /* Only the first eight registers can be moved to/from memory.
+ So those prefer EIGHT_REGS.
+
+ Similarly reloading an auto-increment address is going to
+ require loads and stores, so we must use EIGHT_REGS for those
+ too. */
+ if (rclass == GENERAL_REGS
+ && (MEM_P (x)
+ || GET_CODE (x) == POST_INC
+ || GET_CODE (x) == PRE_DEC
+ || GET_CODE (x) == PRE_MODIFY))
return EIGHT_REGS;
return rclass;