我有一个应用程序,旨在针对从古老的(奔腾,奔腾II)到现代的(Haswell,Skylake)各种英特尔处理器。它具有专门为x86指令集的各种扩展量身定制的代码路径(SSE,AVX等)。然而,我只能访问追溯到Sandy Bridge的计算机,无法验证该应用程序是否实际运行在支持的最古老的体系结构上。虽然这些老CPU很可能不会用于任何目的,但从代码质量的角度来看,知道名为
当面临这种问题时,人们通常采取哪些方法?是否有自动化工具可以扫描函数并确保不存在非法指令?是否有提供测试和调试遗留计算机架构访问的服务(Web或其他)?
my_routine_sse2
的函数不会意外使用来自SSE3或类似指令是很好的。当面临这种问题时,人们通常采取哪些方法?是否有自动化工具可以扫描函数并确保不存在非法指令?是否有提供测试和调试遗留计算机架构访问的服务(Web或其他)?
VBROADCASTSS x/ymm, m32
。AVX2:VBROADCASTSS x/ymm, xmm
。 - Peter Cordes