Cortex A15에 대한 사전 컴파일 된 ARM 도구 체인이 있습니다. 올바른 VFPv4 명령어를 생성하는지 확인하고 싶습니다. 어떤 시체라도 아이디어가 있습니까?ARM 도구 모음의 VFPv4 기능을 확인하는 방법
0
A
답변
3
우리는 우리는 또한 수동으로 확인할 수 있습니다
...
GCC now supports VFPv4-based FPUs and FPUs with single-precision-only VFP.
...
을 주장하는 gcc release log에서 그것을 찾아 볼 수 있습니다. ARM 아키텍처 설명서에 따르면 VFPv4는 최소한 Vector Fused Multiply Accumulate/Subtract
을 추가했습니다.
void test_vfp4() {
asm("VFMA.F32 q1, q2, q3");
}
-mfpu=neon-vfpv4
스위치와 함께이 컴파일
gcc -mfpu=neon-vfpv4 -O2 -marm -c vfpv4.c
(그렇지 않으면 내 툴 체인은 Error: selected processor does not support ARM mode 'vfma.f32 q1,q2,q3'
말한다) 및
arm-linux-gnueabihf-objdump -S vfpv4.o
이
00000000 <test_vfp4>:
0: f2042c56 vfma.f32 q1, q2, q3
4: e12fff1e bx lr
아래에 나열해야합니다에 대한 이진 덤프
그러나 이러한 융합 된 명령어에 대해서는 intrinsic listed을 찾을 수 없거나 다른 방법으로 생각할 수 없기 때문에 C 레벨에서 어떻게 사용할 수 있는지 알 수 없습니다.
관련 문제
- 1. 도구 모음의 UIActionSheet 디스플레이
- 2. 도구 모음의 키보드 단축키
- 3. UINavigationController 도구 모음의 백그라운드에서 터치를 감지하는 방법
- 4. 탐색 도구 모음의 색을 변경하는 방법
- 5. 세로 도구 모음의 하위 도구 렌더링
- 6. 도구 창 도구 모음의 분할 단추
- 7. ARM 도구 체인 빌드
- 8. 도구 모음의 아이콘이 투명하지 않습니다.
- 9. 도구 모음의 매크로 - Office 2000
- 10. 도구 모음의 사용자 지정 컨트롤
- 11. 사용자 지정 도구 모음의 텍스트 상자
- 12. skype 도구 모음의 유효성 검사 오류
- 13. 스프링 도구 모음의 내용 지원 문제
- 14. JqGrid, DatePicker 선택시 도구 모음의 값이 없음
- 15. 목표 C : 도구 모음의 UIBarButton 경계가 없습니다.
- 16. 머리글/바닥 글 도구 모음의 제스처 피하기
- 17. UINavigationController에서 도구 모음의 높이를 결정하는 방법은 무엇입니까?
- 18. WPF 도구 모음의 드롭 다운 메뉴
- 19. Internet Explorer 도구 모음의 상황에 맞는 메뉴
- 20. 있는 jqGrid : 도구 모음의 검색 옵션 -
- 21. ToolBar 단추 스타일을 도구 모음의 UserControls에 적용합니다.
- 22. UIBarbuttonItem이 도구 모음의 오른쪽에 있지 않습니까?
- 23. Extjs 도구 모음의 전자 메일 단추
- 24. 하단 막대 도구 모음의 단추 문제
- 25. QMenu를 도구 모음의 오른쪽에 정렬하도록 어떻게 설정합니까?
- 26. iOS에서 탐색 도구 모음의 요점은 무엇입니까?
- 27. 도구 모음의 버튼 음성 전화 위치 관리자 방법
- 28. VS2010의 매크로에서 도구 모음의 명령 캡션을 변경하는 방법?
- 29. 도구 모음의 항목을 WPF의 사용 가능한 공간을 모두 채우는 방법
- 30. ARM linux 및 교차 도구 체인 문제
당신이 제안한 것은 컴파일러를 검증하기에 충분하다. 단순히 gcc 바이너리가 -mfpu = neon-vfpv4를 받아들이면 지원이 거기에 있음을 의미하기 때문이다. 컴파일러가 추가 지침을 실제로 사용하는지 여부는 전혀 다른 질문입니다. – unixsmurf
[vfp.md] (http://gcc.gnu.org/git/?p=gcc.git;a=blob;f=gcc/config/arm/vfp.md;hb=HEAD#l892)에는 [arm.md] (http://gcc.gnu.org/git/?p=gcc.git;a=blob;f=gcc/config/arm/arm.md;hb=HEAD#l1585)와 같은 설명은 다음과 같습니다. 'mla' 정수 버전. 나는 gcc가'mla' 버전을 사용하는 것을 보았습니다. 컴파일러가 명령을 사용할 수도 있습니다. 그러나 IEEE 플로트의 과소 사용으로 인해 'C'가 잘못 매칭되기 때문에 종종 어렵습니다. 즉, 표준 및 기타 문제는 종종 사용을 방지합니다. 만약 당신이 이것을 원한다면 저는 - 양산 수학으로 컴파일 할 것입니다. 게임 렌더링과 로켓 제어에는 서로 다른 요구가 있습니다. –
Richard Earnshaw의 [우수한 블로그 게시물] (http://community.arm.com/groups/tools/blog/2013/04/15/arm-cortex-a-processors-and-gcc-command-lines) Cortex CPU와 함께 사용할 FPU 유형. '-Ofast' 또는'-O3'과'-ffast-math'를 사용하십시오. –