0
我是AArch64高級SIMD(NEON)的新手,我想將AArch32代碼移植到AArch64。在AArch32中,如果我想訪問寄存器的更低或更高的一半,我只使用Dn
而不是Qn
。例如,如果我想訪問低位64位的Q12
,我只是簡單地提到了D24
。但是,我不知道如何訪問AArch64中的Vn
寄存器的一半。 我想訪問Vn
註冊表的更高一半。所以,如果我寫Vn.2S
,我認爲它給了我寄存器的下半部分。那是對的嗎?如果是的話,我怎樣才能進入更高的一半呢?訪問AArch64高級SIMD中的寄存器的一半
當一個指令影響向量寄存器中的128位中的64位時,將使用低64位。以「2」結尾的第二版指令(例如PMULL2)影響向量寄存器的高64位。 – BitBank
@BBBank假設我想將128位向量寄存器的高64位與另一個128位向量寄存器相乘。我的意思是我有一個64x128乘法。我怎麼能實現這一點? 'PMULL2'影響向量的高64位 – A23149577
我不相信有128位的乘法,但是如果你想同時訪問低64位和高64位,我相信你需要使用寄存器索引符號(例如v5.s [2])將數據移入另一個寄存器。 – BitBank