다음은 지원되는 명령어 세트를 보여주는 클래스의 예입니다. https://msdn.microsoft.com/en-us/library/hskdteyh.aspxMSVC/arch : [명령어 세트] - SSE3, AVX, AVX2
각각 다른 명령어 세트를 사용하는 단일 함수의 3 가지 구현을 작성하고자합니다. 그러나 플래그/ARCH : AVX2로 인해이 응용 프로그램은 인텔 프로세서의 4 세대 이상에서 실행되지 않으므로 전체 검사 지점이 무의미합니다.
그래서, 질문 : 무엇 정확히이 플래그는 무엇입니까? 지원을으로 설정하거나 제공된 명령어 세트을 사용하여 컴파일러 최적화를 사용 하시겠습니까?
즉,이 플래그를 완전히 제거하고 immintrin.h, emmintrin.h 등의 함수를 계속 사용할 수 있습니까?
MSVC에는 SSE3 옵션이 없습니다. 64 비트 모드에서 유일한 옵션은'AVX'와'AVX2'입니다. 'AVX'의 요점은 MSVC에 vex 인코딩 된 명령어를 사용하도록 지시하는 것입니다. 나는 'AVX2'의 요지를 정말로 모른다. FMA3에서 최적화하는 것이 대부분이라고 생각합니다. –