3
我正在嘗試iOS上的新arm64指令,並遇到一個特殊問題。我希望有人能幫助我。ARM64(iOS)上的內聯彙編指令
尤其是這個過程出現「無效的操作數指令」
void test()
{
register long long signed int r=0,c=0,d=0;
register signed int a=0,b=0,e=0,f=0;
// this fails
asm volatile("smaddl %0, %1, %2, %3" : "=r"(r) : "r"(a), "r"(b), "r"(c));
};
我不知道我在做什麼錯了,最好的,我可以告訴大家,我的指令和語法如下正確。以下是它在文檔中的定義:
「SMADDL Xd,Wn,Wm,Xa 有符號乘加長:Xd = Xa +(Wn×Wm),將源操作數視爲有符號。
其中X代表64位寄存器,W代表32位。
任何幫助將不勝感激。
THX
啊!完善!我懷疑這肯定是一個語法問題,並且必須以某種方式指定寄存器寬度,但不知道該怎麼做!謝謝! – bitwise