如何使用GCC 4.9.2编写MIPS特殊说明

如何使用GCC 4.9.2编写MIPS特殊说明,gcc,mips,Gcc,Mips,我使用的是具有CRC32指令(不是标准指令集的一部分)的MIPS 64位处理器。它的操作码是b011100。在使用GCC 4.9.2的asm指令中,有没有一种直接的方法可以在不破坏编译的情况下使用该指令?我的最佳想法是创建一个内联汇编函数,该函数为该操作码定义字节语句,并以标准C/C++方式返回值-基本上是编写自己的内部代码它的功能。至少,黑客在代码中被隔离到一个位置,并且如果您的供应商向您发送更新的代码来纠正此问题,则可以在将来进行替换 我也会向您的供应商投诉这种疏忽。:) 可以肯定的是,您的

我使用的是具有CRC32指令(不是标准指令集的一部分)的MIPS 64位处理器。它的操作码是b011100。在使用GCC 4.9.2的asm指令中,有没有一种直接的方法可以在不破坏编译的情况下使用该指令?

我的最佳想法是创建一个内联汇编函数,该函数为该操作码定义字节语句,并以标准C/C++方式返回值-基本上是编写自己的内部代码它的功能。至少,黑客在代码中被隔离到一个位置,并且如果您的供应商向您发送更新的代码来纠正此问题,则可以在将来进行替换


我也会向您的供应商投诉这种疏忽。:)

可以肯定的是,您的交叉编译版本的GCC在内联汇编程序中不直接支持该命令,并且没有可以直接调用该命令的内在机制?这是正确的-芯片供应商支持较旧的(4.6)编译器,但我们正在使用一些较新的包,这些包需要:,C++11原子和一些4.9细节。您能否将使用CRC指令的代码放入一个.C文件中,并使用供应商的编译器进行编译,然后使用4.9编译器将生成的.o文件与其余代码链接起来?(使用.c链接以避免名称混乱问题)真恶心。这里希望有人有比使用“db”语句并将操作码直接放入内联指令流更好的方法。我想我会先试试Markgz的版本。如果它有效的话,可读性会更好。退后将是讨厌的db方法。