簡體   English   中英

將ARM NEON代碼移植到AARCH64,很多問題

[英]Porting ARM NEON code to AARCH64, many questions

我正在將一些ARM NEON代碼移植到64位ARM-v8,但我找不到關於它的好文檔。

許多功能似乎已經消失,我不知道如何在不使用它們的情況下實現相同的功能。

因此,一般的問題是:我在哪里可以找到新的SIMD實現的完整參考,包括如何執行許多ARM-NEON教程中解釋的相同簡單任務的說明?

關於特定功能的一些問題:

1 - 如何在Dx寄存器的所有通道中加載一個值? 舊代碼是

    mov R0, #42
    vdup.8 D0, R0

我的猜測是:

    mov W0, #42
    dup V0.8B, W0

2 - 如何使用交錯數據加載多個Dx / Qx寄存器? 在舊代碼中,這是:

    vld4.8 {D0-D3}, [R0]!

但我在新文檔中找不到任何內容。

我知道這是一個全新的模型,但它沒有很好的記錄(或者至少,我無法找到任何可讀樣本的參考)

關於在Android中使用ARMv8的文檔不是很好,但針對您的具體問題,本文檔中的答案非常好:

ARMv8指令集概述

回答您的具體問題:

mov R0, #42
vdup.8 D0, R0

mov w0,#42
dup v0.8b,w0

vld4.8 {d0-d3}, [r0]!

 ld4 {v0.8b,v1.8b,v2.8b,v3.8b},[x0],#32

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM