如 A-profile 架构的 Arm® 架构参考手册中所述,FEAT_HBC 提供 BC.cond 指令来给出条件分支,并向分支预测逻辑提示该分支将表现一致,并且极不可能改变方向。从 Armv8.8 开始,FEAT_HBC 是强制的。 FEAT_HBC 提供 BC.cond 指令 FEAT_HBC 从 Armv8.8 开始是强制的
但在基于Armv9.0-a核(Cortex-A715和Cortex-A510)的Pixel8上执行bc.eq或bc.ne等BC.cond指令时,会报非法指令异常。 非法指令异常
希望这个问题能得到解答。
尽管 9.0 的数字高于 8.8,但 Armv9.0 不包括 Armv8.8 作为子集。 仅保证包含 Armv8.5。 这在架构参考手册中定义“Armv9.0 架构扩展”部分的开头进行了记录。
这按照时间顺序也是有意义的 - 据我所知,Armv9.0 于 2021 年 3 月发布,而 Armv8.8 是六个月后的 2021 年 9 月发布的。
因此,看来您的芯片根本不支持这些指令,但这并不违反 Armv9.0 合规性。