如何在 PowerPC 上使用 SSE 编译代码?

如何在 PowerPC 上使用 SSE 编译代码?

我正在尝试编译minmap2适用于 PowerPC。

我有这条编译线,我想为 PowerPC 构建它

c -c -g -Wall -O2 -Wc++-compat  -msse2 -DHAVE_KALLOC  ksw2_ll_sse.c -o ksw2_ll_sse.o

有没有办法用 PowerPC 重写它?

答案1

有没有办法用 PowerPC 重写它?

SSE 是一组 x86 指令。PowerPC 无法支持任何依赖 x86 指令的代码。即使代码成功编译,应用程序也无法在 PowerPC 机器上运行。

您必须修改所有代码,才能使用与 SSE 等效的 PowerPC AltiVec。对于项目可能使用的任何其他 x86 特定指令,您还必须使用等效的 PowerPC 指令。

答案2

除了将其重写为 AltiVec 之外,另一个选择是使用类似https://github.com/IvantheDugtrio/veclib包装 SSE API 并将其映射到 AltiVec。

相关内容