Quick FUNCTION_MODE doco query
Dave Korn
dave.korn@artimi.com
Sat Mar 10 18:00:00 GMT 2007
------------------------------------------------------
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....
More information about the Gcc
mailing list