【发布时间】:2018-02-26 18:55:58
【问题描述】:
我有一个 ARMv8 内联汇编段:
/* get leading 0 of cache ways */
__asm__ __volatile__
(
"CLZ %w[shift], %w[maxWay] \n"
: [shift] "=r" (uiShift)
: [maxWay] "r" (uiMaxWay)
);
ARM GCC编译器编译时:
有趣的是,如果我用 Linaro 编译器编译,那么没有问题。
ARM GCC 编译器或我的代码有问题吗?
【问题讨论】:
-
使用
__builtin_clz代替汇编。无论如何,您的操作数类型是什么,为什么需要w。 PS:请勿将代码发布为图片。
标签: gcc assembly arm inline-assembly linaro