gpt4 book ai didi

c - 如何处理这个: selected processor does not support `qadd16 r1,r1,r0'

转载 作者:行者123 更新时间:2023-12-02 05:37:05 25 4
gpt4 key购买 nike

我正在开发 Android 应用程序,我正在开发 NDK。编译文件时出现selected processor does not support `qadd16 r1,r1,r0'错误。任何人都可以向我解释为什么会出现此错误以及出现此错误的位置以及如何处理此错误?这是我的代码片段 basic_op.h文件

static inline Word32 L_add(register Word32 ra, register Word32 rb)
{
Word32 out;

__asm__("qadd %0, %1, %2"
: "=r"(out)
: "r"(ra), "r"(rb));

return (out);
}

提前致谢

最佳答案

发生这种情况是因为您的目标架构 (http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0211h/Chddhfig.html) 不支持 QADD 指令。要编译此代码,您需要在 NDK 中启用 arm-v7 支持。

添加行

APP_ABI := armeabi-v7a

到您的 Application.mk,此代码将完美编译:

static inline unsigned int L_add(register unsigned int ra, register unsigned int rb)
{
unsigned int out;

__asm__("qadd %0, %1, %2"
: "=r"(out)
: "r"(ra), "r"(rb));

return (out);
}

附言我使用的是 Android NDK r8。

P.P.S. 为什么需要这个丑陋的组件?输出汇编列表:

static inline unsigned int L_add(register unsigned int ra, register unsigned int rb)
{
return (ra > 0xFFFFFFFF - rb) ? 0xFFFFFFFF : ra + rb;
}

看起来仍然相当高效,而且更便携!

关于c - 如何处理这个: selected processor does not support `qadd16 r1,r1,r0' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11523129/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com