2013-08-23 2 views
2

문제점은 arm7 아키텍처에서 지원되는 일부 네온 지침과 관련되어 있습니다. 기본 컴파일러 (Apple LLVM 5.0)를 사용하고 있지만 half-float 명령이 싫어서 다른 네온 명령도 인식합니다. 컴파일러 플래그가 있습니까 반 유동iOS 용 반 플로트 네온 지침 컴파일

:

vcvt.f32.f16, q0, d1 

사과 컴파일러는이 명령을 같은 오류를 제공하지 않지만이 gcc가 컴파일했습니다 : 명령이 필요 여기

코드입니다 나는 Xcode에 줄 수 있니? 나는 반 플로트 명령어를 검색하는 방법을 알 수 없다.

감사합니다.

+1

'-mfpu = neon-fp16' 시도해보십시오. –

답변

2

half-float 형식은 실제로 모든 ARM v7 구현에서 지원되지 않습니다. ARM manual here을 참조하십시오. vfp4에서 필요합니다. 따라서 칩이이를 지원하면 좋은 시작입니다. 일반적으로 런타임 감지 및 디스 패칭을 사용하는 것이 좋습니다. 일반적으로 명령을 사용하려면 여러 부동 소수점 지원 옵션 중 하나를 사용해야합니다. 일반적으로 "fp16"은 키워드입니다 (예 :

-mfpu=neon-fp16). 타겟이 네온 용으로 지원된다고 확신하는 경우. llvm에 대한 모든 예제를 찾을 수는 없었지만, 일반적으로 GCC manual에있는 GCC 옵션과 호환 가능하다고 생각합니다.