다음을 통해 공유


/arch(x86)

코드를 생성 하는 x86 아키텍처를 지정합니다./arch (x64)/arch (ARM)를 참조하십시오.

/arch:[IA32|SSE|SSE2|AVX]

인수

  • /arch:IA32
    향상 된 지침이 지정 하 고 또한 부동 소수점 계산에 x 87를 지정 합니다.

  • /arch:SSE
    SSE 명령 사용할 수 있습니다.

  • /arch:SSE2
    SSE2 명령을 사용할 수 있습니다.X86 플랫폼에 기본 명령 하지 않으면이 /arch 옵션을 지정 합니다.

  • /arch:AVX
    인텔 고급 벡터 확장 명령 사용할 수 있습니다.

설명

SSE 및 SSE2 명령은 여러 Intel 및 AMD 프로세서에 있습니다.AVX 지침은 Intel Sandy Bridge 프로세서와 AMD Bulldozer 프로세서에 대해 존재합니다.

_M_IX86_FP 매크로 표시 하는 경우, /arch 컴파일러 옵션을 사용 했습니다.자세한 내용은 미리 정의 된 매크로을 참조하십시오.

/arch를 지정하면 최적화 프로그램에서 SSE 및 SSE2 명령의 사용 시기와 방법을 선택합니다.SSE를 사용 하 고 SSE2 명령을 빠르게 레지스터와 SSE/sse2 부동 소수점 x87 대신 사용할 것을 결정할 때 일부 스칼라 부동 소수점 계산에 대 한 스택 레지스터.따라서 코드가 부동 소수점 계산에 x87과 SSE/SSE2를 함께 사용하게 됩니다.또한,와 /arch:SSE2, 일부 64 비트 정수 연산에 SSE2 명령을 사용 합니다.

컴파일러는 SSE 및 SSE2 명령 뿐만 아니라 SSE 및 SSE2를 지원하는 프로세서에 있는 다른 명령도 사용합니다.이러한 예로는 Intel Pentium Pro 프로세서에서 처음 소개된 CMOV 명령을 들 수 있습니다.

사용 하면 /clr 를 컴파일하려면 /arch 코드를 생성 하는 관리 되는 함수에 대 한 영향을 주지 않습니다./arch는 네이티브 함수에 대한 코드 생성에만 영향을 줍니다.

/arch/QIfist는 같은 컴파일에서는 사용할 수 없습니다.특히, 사용 하지 않는 경우 _controlfp 런타임 시작 코드 집합 x87 FPU 제어 단어 정밀도 제어 필드를 53 비트로 하 고 FP 제어 단어를 수정 합니다.따라서 모든 float 및 double 작업 식에서 53 비트 기호 및 15 비트 지 수를 사용합니다.그러나 모든 SSE 단 정밀도 연산은 24 비트 기호 및 8 비트 지 수를 사용 하 고 SSE2 배정밀도 연산은 53 비트 기호 및 11 비트 지 수를 사용 합니다.자세한 내용은 _control87, _controlfp, __control87_2을 참조하십시오.이러한 차이는 하나의 식 트리에서 가능하지만 사용자 할당이 각 부분식 뒤에 포함되는 경우에만 가능합니다.다음을 고려하십시오.

    r = f1 * f2 + d;  // Different results are possible on SSE/SSE2.

아래와 비교

   t = f1 * f2;   // Do f1 * f2, round to the type of t.
   r = t + d;     // This should produce the same overall result 
                  // whether x87 stack is used or SSE/SSE2 is used.

controlfp는 MXCSR 제어 비트를 변경하지 않습니다.따라서 /arch:SSE2, 사용에 따라 달라 집니다 모든 기능 controlfp 중단 됩니다.

Visual Studio에서 SSE 또는 SSE2의 컴파일러 옵션을 설정하려면

  1. 프로젝트의 속성 페이지 대화 상자를 엽니다.자세한 내용은 방법: 프로젝트 속성 페이지 열기을 참조하십시오.

  2. 선택 된 C/c + + 폴더입니다.

  3. 코드 생성 속성 페이지를 선택합니다.

  4. 고급 명령어 집합 사용 속성을 수정합니다.

Visual Studio에서 /arch:AVX 컴파일러 옵션을 설정하려면

  1. 프로젝트의 속성 페이지 대화 상자를 엽니다.자세한 내용은 방법: 프로젝트 속성 페이지 열기을 참조하십시오.

  2. 선택 된 C/c + + 폴더입니다.

  3. 선택 된 명령줄 속성 페이지입니다.

  4. 추가 옵션 상자에서 /arch:AVX를 추가합니다.

프로그래밍 방식으로 이 컴파일러 옵션을 설정하려면

참고 항목

참조

/arch(최소 CPU 아키텍처)

컴파일러 옵션

컴파일러 옵션 설정