Next: PCH Target, Previous: Emulated TLS, Up: Target Macros
MIPS规范允许MIPS的实现最多具有4个协处理器,其中每个最多具有32个私有寄存器。 GCC支持使用汇编形式的变量对这些寄存器的访问,寄存器以及内存间的传值。例如:
register unsigned int cp0count asm ("c0r1"); unsigned int d; d = cp0count + 3;
(“c0r1”是协处理器0的寄存器1的缺省名;可以按照下面的描述来增加可选名字,
或者可以通过SUBTARGET_CONDITIONAL_REGISTER_USAGE
来覆写全部的缺省名字。)
协处理器寄存器被假设为epilogue-used;对它们的赋值将被保存, 即使在函数中的后面不会再使用该寄存器。
另一个需要注意的是:根据MIPS spec,协处理器1(如果存在)为FPU。 标准mips浮点支持的对COP1寄存器的访问,不包含在这个机制中。
下面描述的一个宏,用于定义MIPS协处理器接口, 可能在子目标(subtarget)中需要被覆写。