This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Quick FUNCTION_MODE doco query
- From: "Dave Korn" <dave dot korn at artimi dot com>
- To: <gcc at gcc dot gnu dot org>
- Date: Sat, 10 Mar 2007 18:00:34 -0000
- Subject: Quick FUNCTION_MODE doco query
------------------------------------------------------
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....