는 I 이전 네온 플래그 컴파일 아암 바이너리 분해 :네온 플래그로 vdiv 명령이 생성되는 이유는 무엇입니까?
텍스 A9 -mfpu = 네온 -mfloat-ABI = softfp -ftree-벡터화
덤프 생성 vdiv.f64 지시를 나타내고 = -mcpu 컴파일러에 의해. armv7 (cortex-a9)의 암 설명서에 따르면 네온 simd isa는 vdiv 명령을 지원하지 않지만 부동 소수점 (vfp) 엔진은 지원합니다. 왜이 명령이 생성됩니까? 그것은 다음 vfp에 의해 실행됩니다 부동 소수점 명령은 무엇입니까? 네온 및 VFP 모두 부동 소수점에 대한 더하기 및 곱하기를 지원하므로 어떻게 다른 값과 다른 값을 구할 수 있습니까?
예, 이것은 VFP 명령어입니다. AArch32 네온은 64 비트 부동 소수점에서 전혀 작동하지 않으므로 쉽게 볼 수 있습니다. – EOF
답장을 보내 주셔서 감사합니다.하지만 컴파일러에서 생성 한 "vadd"가 표시되면 두 엔진 모두이 명령어를 구현하므로 NEON인지 VFP 명령어인지 어떻게 알 수 있습니까? 나는 arm cortex-a9 프로세서와 arm-none-linux-gnueabi * toolchain으로 작업하고 있습니다. –
네온은 레지스터 이름'D [n]'과'Q [n]'과 명령어 후행 'F32' (정수 명령어의 경우 I [n])을 사용하며, VFP는'S [n] n]'과 명령어 - 포스트 픽스'F64' 또는'F32'를 사용합니다. 그 조합은 모호하지 않습니다. – EOF