首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >gcc;Aarch64;Armv8;enable crypto;-mcpu=cortex a53+crypto

gcc;Aarch64;Armv8;enable crypto;-mcpu=cortex a53+crypto
EN

Stack Overflow用户
提问于 2015-04-28 07:18:39
回答 1查看 2.8K关注 0票数 3

我正在尝试优化一个Arm处理器(Corte-A53)和一个Armv8架构,用于加密目的。

问题是,但是编译器接受-mcpu=cortex-a53+crypto等,它不改变输出(我检查了程序集输出)。

改变mfpu,mcpu添加期货,如密码或simd,这并不重要,它完全被忽略了。

为了使Neon代码-ftree-矢量化成为必要,如何使用密码?

(我检查了-O(1,2,3)标志,它没有帮助)。

编辑:我意识到我犯了一个错误,认为密码标志就像编译器解决的优化标志一样工作。是我的错。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-04-29 16:57:37

你有两个问题。

为什么-mcpu=cortex-a53+crypto不改变代码输出?

密码扩展是ARMv8-A的AArch64状态下的一个可选特性。+crypto特性标志向编译器指示这些指令是可用的。从实际角度来看,在GCC 4.8/4.9/5.1中,这定义了宏__ARM_FEATURE_CRYPTO,并控制您是否可以使用ACLE中定义的密码本质,例如:

uint8x16_t vaeseq_u8 (uint8x16_t data, uint8x16_t key)

在目前的GCC没有优化,它将自动转换的C代码序列使用密码指令。如果要进行此转换,则必须手动完成(并通过适当的特性宏对其进行保护)。

为什么+fpu+simd标志不改变代码输出?

对于-mcpu=cortex-a53,默认情况下+fp+simd标志是隐含的(对于GCC的某些配置,默认情况下也可能隐含+crypto )。因此,添加这些功能标志不会更改代码生成。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29912779

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档