From: Jim Wilson Date: Wed, 25 Jun 1997 02:26:15 +0000 (-0700) Subject: (LIMIT_RELOAD_CLASS): Define. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=6c13d91005127b6c1d09a7cdfa471bca08faafb9;p=gcc.git (LIMIT_RELOAD_CLASS): Define. From-SVN: r14301 --- diff --git a/gcc/config/m68k/m68k.h b/gcc/config/m68k/m68k.h index 07ce8724209..c5849adcb2c 100644 --- a/gcc/config/m68k/m68k.h +++ b/gcc/config/m68k/m68k.h @@ -778,6 +778,16 @@ extern enum reg_class regno_reg_class[]; ? FP_REGS : NO_REGS) \ : (CLASS)) +/* Force QImode output reloads from subregs to be allocated to data regs, + since QImode stores from address regs are not supported. We make the + assumption that if the class is not ADDR_REGS, then it must be a superset + of DATA_REGS. */ + +#define LIMIT_RELOAD_CLASS(MODE, CLASS) \ + (((MODE) == QImode && (CLASS) != ADDR_REGS) \ + ? DATA_REGS \ + : (CLASS)) + /* Return the maximum number of consecutive registers needed to represent mode MODE in a register of class CLASS. */ /* On the 68000, this is the size of MODE in words,