Cortex-A8 프로세서의 Windows Embedded Compact 7 ARM 어셈블러와 함께 ARM 웹 사이트의 NEON memory copy with preload 구현을 사용하고 있습니다.ARM memcpy 및 정렬
; NEON memory copy with preload
ALIGN
LEAF_ENTRY NEONCopyPLD
PLD [r1, #0xC0]
VLDM r1!,{d0-d7} ;datatype misalignment
VSTM r0!,{d0-d7}
SUBS r2,r2,#0x40
MOV R0, #0
MOV PC, LR
ENTRY_END
size_t size = /* arbitrary */;
size_t offset = 1;
char* src = new char[ size + offset ];
char* dst = new char[ size ];
NEONCopyPLD(dst, src + offset, size);
memcpy(dst, src + offset, size); /* works perfectly */
는 VLDM 명령에 대한 예상이된다
나는 비 단어 정렬 값 예를 들어
와 해당 기능을 제공 할 때이 데이터 형식 어긋남에 예외를 얻을 것을 알? 이 구현은 단어 맞춤 값으로 제한된다는 언급이 없습니다. 고칠 수 있습니까? 그렇다면 어떻게?
해결 방법은 http://review.android.git.linaro.org/gitweb?p=platform/bionic.git;a=commitdiff;h=f1dd5e8c215b080bb2f4cf22 – auselen