------------------------------------------------------
http://gcc.gnu.org/onlinedocs/gccint/Misc.html#Misc

- Macro: FUNCTION_MODE

    An alias for the machine mode used for memory references to functions
being called, in call RTL expressions. On most machines this should be QImode.

------------------------------------------------------


  Was this description perhaps written in pre-RISC days?  Is it not correct to
use SImode on a RISC machine where all instructions are always 4-aligned?  (A
quick grep suggests that of current backends, 7 use Pmode, 3 HImode, 17 QImode
and 8 SImode).  It looks to me like it should be a mode that has the same
alignment as the smallest addressable instruction, no?  Would the below be a
more accurate description?  


 @defmac FUNCTION_MODE
 An alias for the machine mode used for memory references to functions
being called, in @code{call} RTL expressions.  On most CISC machines,
where an instruction can begin at any byte address, this should be 
@code{QImode}; on RISC machines, where all instructions are word-sized
and aligned, this should be a mode with the same size and alignment as
the machine instruction words - @code{SImode} for 32-bit processors, or
perhaps @code{HImode} for such machines as the ARM cpu in Thumb mode,
which uses 16-bit instructions.
 @end defmac


  If so I'll send a patch+changelog to the patches list. 

    cheers,
      DaveK
-- 
Can't think of a witty .sigline today....

Reply via email to