Я пытаюсь получить инструкцию HADDPS
, и я не могу объявить __256
в этом коде.Ошибка SSE HADDPS: '__m256' не называет тип?
#include <xmmintrin.h>
#include <emmintrin.h>
#include <pmmintrin.h>
#include <stdio.h>
#include <stdint.h>
#include <iostream>
__m256 HADDPS(__m256 __X, __m256 __Y)
{
return _mm256_hadd_ps (__X, __Y);
}
int main()
{
//horizontal add packed single-------------------------------------------------
__m256 HADDPSA = _mm_set_ps(4.0f, 3.0f, 2.0f, 1.0f);
__m256 HADDPSB = _mm_set_ps(4.0f, 3.0f, 2.0f, 1.0f);
__m256 HADDPSR = HADDPS(HADDPSA, HADDPSB);
return 0;
}
Я использую g ++ с -msse -msse2 -msse3 -msse4
.
Это ошибка.
HADDPS.cpp|8|error: '__m256' does not name a type|
HADDPS.cpp||In function 'int main()':|
HADDPS.cpp|15|error: '__m256' was not declared in this scope|
HADDPS.cpp|15|error: expected ';' before 'HADDPSA'|
HADDPS.cpp|16|error: expected ';' before 'HADDPSB'|
HADDPS.cpp|17|error: expected ';' before 'HADDPSR'|
Это работает, если вы добавите '-mavx'? –
Ну его ошибка компилятора, поэтому я бы не ожидал, что '-mavx' будет делать многое в любом случае, но я не пытался связываться с этим флагом и теми же ошибками. Я думаю, что упоминание '-msse -msse2 -msse3 -msse4' также было бессмысленным. – pandoragami
Нет, не пытайтесь связываться с ним, попробуйте скомпилировать его. –