From: Richard Kenner Date: Sun, 18 May 1997 12:58:39 +0000 (-0400) Subject: (EXTRA_CONSTRAINT): New macro. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=02385fc5632dcd8666f9fb323e7d13d10c5bf735;p=gcc.git (EXTRA_CONSTRAINT): New macro. From-SVN: r14089 --- diff --git a/gcc/config/m68k/m68k.h b/gcc/config/m68k/m68k.h index 91708f4a88d..7481dc76608 100644 --- a/gcc/config/m68k/m68k.h +++ b/gcc/config/m68k/m68k.h @@ -738,6 +738,19 @@ extern enum reg_class regno_reg_class[]; (C) == 'H' ? (TARGET_FPA && standard_sun_fpa_constant_p (VALUE)) : 0) #endif /* defined SUPPORT_SUN_FPA */ +/* A C expression that defines the optional machine-dependent constraint + letters that can be used to segregate specific types of operands, + usually memory references, for the target machine. It should return 1 if + VALUE corresponds to the operand type represented by the constraint letter + C. If C is not defined as an extra constraint, the value returned should + be 0 regardless of VALUE. */ + +/* For the m68k, `Q' means address register indirect addressing mode. */ + +#define EXTRA_CONSTRAINT(OP, C) \ + ((C) == 'Q' ? (GET_CODE (OP) == MEM && GET_CODE (XEXP (OP, 0)) == REG) : \ + 0 ) + /* Given an rtx X being reloaded into a reg required to be in class CLASS, return the class of reg to actually use. In general this is just CLASS; but on some machines