2017-11-19 29 views
0

XCode 7.1에서 C 프로그램과 함께 SIMD 내장 함수를 사용하려고합니다. (참고로 C++ 프로그램이 아니라 C99 프로그램을 작성하고 있습니다.)_mm256_cvtss_f32가 XCode에 의해 인식되지 않습니다.

필자는 immintrin.h를 포함 시켰으며, 매우 잘 작동하는 내장 명령을 사용하여 몇 가지 기능을 작성했습니다.

float cimpl_sum_m128(__m128 x){ 
    float out; 
    __m128 sum = x; 
    sum = _mm_hadd_ps(sum, sum); 
    sum = _mm_hadd_ps(sum, sum); 
    out = _mm_cvtss_f32(sum); 
    return out; 
} 

엑스 코드는 _mm_cvtss_f32 명령을 인식하지 못합니다 : 지금 다음과 같이 __m128에 네 개의 수레를 요약 함수를 작성하려고 해요. 이 웹 사이트에서 명령을 받았습니다 : https://software.intel.com/sites/landingpage/IntrinsicsGuide/.

XCode가이 명령을 인식하지 못하는 이유는 누구든지 내게 설명 할 수 있습니까? _mm_cvtss_f32를 사용할 수없는 경우 __m128 변수에서 단일 값을 추출하는 방법은 무엇입니까?

미래에는 _mm256_cvtss_f32를 사용하고 싶습니다. 이것이 가능한가? 그렇지 않은 경우 __m256 변수에서 단일 값을 추출하려면 어떻게합니까?

+2

AVX가 활성화되어 컴파일 중입니까 ('-mavx' 또는 아마도'-march = native')? – nemequ

+0

새로운 Swift와 버전 2와 3 사이의 많은 변경 사항 (3 모두가 3과 호환 될 가능성이 거의 없음 (3에서 컴파일 된 2로 작성된 코드))과 관련되어 있는지 확실하지 않지만, 다른 방법이있을 수 있습니다. 그 "명령"을 할 수 있습니까? –

+1

@ ringø : 저는 이것이 Swift와 아무런 관련이 없다고 생각합니다 (태그를 확인하십시오). –

답변

0

내 코드에서 관련없는 버그로 밝혀졌습니다. 도움을 주신 모든 분들께 감사드립니다.

+2

향후 다른 사람에게 도움이되지 않을 가능성이 있으므로 질문을 삭제해야합니다. –