使用 GCC 为 PowerPC (MPC5643L) 编译时,它无法识别 powerISA 2.03 指令。我该如何克服呢?更具体地说,这些大多是 e_ 格式的汇编指令。然而,ghs 和 windriver 并没有显示出这样的问题。
我知道 GCC 不支持 mpc56xx 系列,但在其他支持的目标中支持 powerISA 2.03。
使用 GCC 为 PowerPC (MPC5643L) 编译时,它无法识别 powerISA 2.03 指令。我该如何克服呢?更具体地说,这些大多是 e_ 格式的汇编指令。然而,ghs 和 windriver 并没有显示出这样的问题。
我知道 GCC 不支持 mpc56xx 系列,但在其他支持的目标中支持 powerISA 2.03。
e_
ansse_
指令是 VLE(可变长度编码)指令。这些e_
是 32 位和se_
16 位。这些只能在 VLE 模式打开时使用。请注意,大多数(如果不是全部)e_
指令都有等效的经典 PowerPC 指令。
所以真正的问题是:你打算使用 VLE 吗?如果没有,请切换回经典说明。如果是,那么我认为您有问题,因为据我所知,gcc/gas 不支持 VLE。我知道 CodeSourcery 正在实施它,但他们在向社区提交更改时遇到了问题。我不知道 gcc 中 VLE 支持的当前状态。
这些指令是什么?例子会很受欢迎。我想它们是 SPE(信号处理引擎)指令。我从来没有使用过,但是 GCC 有一个选项 -mspe 来启用这些指令的生成。您可以在以下网址阅读更多信息: http: //gcc.gnu.org/onlinedocs/gcc/RS_002f6000-and-PowerPC-Options.html
还有 -mabi=spe 用于“使用特定扩展名扩展当前 ABI”。我不知道默认值以及您的情况是否需要它。