일부 ARM NEON 코드를 64 비트 ARM-v8로 이식하려고하는데, 이에 대한 좋은 설명서를 찾을 수 없습니다.ARM NEON 코드를 AARCH64로 이식, 많은 질문이 있습니다.
많은 기능이 사라진 것처럼 보이며, 사용하지 않고 동일한 기능을 구현하는 방법을 모르겠습니다.
일반적인 질문은 다음과 같습니다. 많은 ARM-NEON 자습서에서 설명하는 것과 동일한 간단한 작업을 수행하는 방법에 대한 설명을 포함하여 새로운 SIMD 구현에 대한 전체 참조는 어디에서 찾을 수 있습니까? 특정 기능에 대한
몇 가지 질문 :
1 - 어떻게이 DX를 레지스터의 모든 차선에 값을로드 할 수 있습니까? 오래된 코드는
mov R0, #42
vdup.8 D0, R0
내 생각은했다 :
mov W0, #42
dup V0.8B, W0
2 - 어떻게 여러 DX를/QX는 인터리빙 된 데이터에 등록로드합니까? 이전 코드에서는 다음과 같습니다.
vld4.8 {D0-D3}, [R0]!
그러나 새 문서에서 아무것도 찾을 수 없습니다.
나는 그것이 완전히 새로운 모델의 이해하지만, 매우 잘 문서화 아니다 (또는 적어도, 나는 읽을 샘플에 대한 참조 찾을 수없는거야)
내가 dup'는'vdup'에 해당하는 것으로 보이는'동의 하겠지만하게된다; 'vld4'에 해당하는 것은 아마도 놀랍지 않게'ld4' 인 것 같습니다. 이전의 "ARMv8 명령어 세트 개요"PDF 사본을 추적 해 볼 가치가 있습니다. 적절한 ARMv8-A ARM이 게시되었으므로 ARM 웹 사이트에서 제외되었지만 더 쉽게 건너 뛸 수있었습니다. – Notlikethat