2.1.55. --fpu=name

이 옵션을 사용하면 타겟 FPU 아키텍처를 확인할 수 있습니다.

이 옵션을 지정하면 명령 행에 표시되는 암시적 FPU 옵션(예: --cpu 옵션을 지정하는 경우)보다 우선합니다.

FPU 아키텍처의 전체 목록을 가져오려면 --fpu=list 옵션을 사용합니다.

구문

--fpu=name

여기서 name은 다음 중 하나입니다.

none

부동 소수점 옵션을 선택하지 않습니다. 부동 소수점 코드가 사용되지 않습니다. 코드에 float 유형이 있는 경우 오류가 생성됩니다.

vfpv3

VFPv3. 아키텍처를 준수하는 하드웨어 벡터 부동 소수점 단위를 선택합니다.

vfpv2

VFPv2. 아키텍처를 준수하는 하드웨어 벡터 부동 소수점 단위를 선택합니다. --fpu=vfp를 지정한 경우 이 옵션이 기본값입니다.

Note

명령 행에 armcc --thumb --fpu=vfpv2를 입력하면 컴파일러에서 Thumb 명령어 세트를 사용하는 코드를 가능한 많이 컴파일하지만 하드웨어 부동 소수점에 쉽게 영향을 받는 함수는 ARM 코드로 컴파일됩니다. 이 경우 사전 정의된 __thumb 값은 올바르지 않습니다.

ARM C 코드에 대해 --arm 옵션과 함께 vfp 또는 vfpv2를 지정하면 __softfp 키워드를 사용하여 소프트웨어 부동 소수점 링키지를 사용할 수 있도록 인터워킹 ARM 코드를 컴파일해야 합니다.

softvfp

소프트웨어 부동 소수점 링키지를 선택합니다. --fpu 옵션을 지정하지 않거나 FPU가 없는 CPU를 선택하는 경우 이것이 기본값입니다.

RVCT의 이전 릴리스에서 --fpu=softvfp 및 암시적 VFP 하드웨어가 있는 CPU를 지정한 경우 링커가 VFP 명령어를 사용하여 소프트웨어 부동 소수점 호출을 구현하는 라이브러리를 선택합니다. 더 이상은 적용되지 않습니다. 이 레거시 동작이 필요한 경우 --fpu=softvfp+vfp를 사용합니다.

softvfp+vfpv2

VFP 명령어를 사용하는 소프트웨어 부동 소수점 링키지가 있는 부동 소수점 라이브러리를 선택합니다. VFP 단위를 구현하는 시스템에서 ARM 코드가 있는 Thumb 코드를 인터워킹하는 경우 이 옵션을 선택합니다.

이 옵션을 선택하면 다음 작업이 수행됩니다.

  • --thumb를 사용하여 컴파일하면 VFP 명령어를 사용하는 부동 소수점 라이브러리와 링크되는 것을 제외하고 --fpu=softvfp와 비슷한 방식으로 동작합니다.

  • --arm을 사용하여 컴파일하면 모든 함수에 소프트웨어 부동 소수점 링키지가 제공되는 것을 제외하고 --fpu=vfpv2와 비슷한 방식으로 동작합니다. 즉, 함수는 부동 소수점 인수를 전달 및 반환하고 --fpu=softvfp와 같은 결과를 발생시키지만 내부적으로는 VFP 명령어를 사용합니다.

Note

C 코드에 대해 --arm 또는 --thumb 옵션과 함께 softvfp+vfpv2를 지정하면 소프트웨어 부동 소수점 링키지를 사용할 수 있도록 인터워킹 부동 소수점 코드를 컴파일합니다.

softvfp+vfpv3

VFPv3 명령어를 사용하는 소프트웨어 부동 소수점 링키지로 부동 소수점 라이브러리를 선택합니다. VFPv3 단위를 구현하는 시스템에서 ARM 코드가 있는 Thumb 코드를 인터워킹하는 경우 이 옵션을 선택합니다.

추가 참고

Copyright © 2007 ARM Limited. All rights reserved.ARM DUI 0348AK
Non-Confidential