예를 들어 4 개의 숫자를 나누어서 인쇄하는 데 도움이 필요합니다. 나는 g ++을 제 컴파일러로 사용하고 있습니다. 다음 코드는 -msse3 -mmmx
플래그로 컴파일되지만, 필자가 필요로하는 것은 확실하지 않지만 작동한다. 나는 set을 나누기 전에 함수 호출로 숫자를 알아야한다고 생각하지만, 어떤 함수를 호출 할 지에 대해서는 긍정적이지 않다. (나는 링크가 int
에 대한 함수를 가지고 있다고 생각한다). std::cout
을 사용하여 결과를 인쇄 할 수있는 방법이 있지만이 경우에는 printf
이 제대로 작동합니다 (이 경우 print128_num
이 맞는지 확실하지 않습니다. 원래 int
으로 작성되었습니다). 코드를 heres.SSE1 divps intrinsic xmmintrin.h를 사용하여 4 개의 32 비트 부동 소수점을 나누고 printf를 사용 하시겠습니까?
#include <emmintrin.h>
#include <xmmintrin.h>
#include <stdio.h>
#include <stdint.h>
void print128_num(__m128i var)
{
uint16_t *val = (uint16_t*) &var;
printf("Numerical: %i %i %i %i %i %i %i %i \n",
val[0], val[1], val[2], val[3], val[4], val[5],
val[6], val[7]);
}
__m128 divide_4_32_bit_values(__m128 __A, __m128 __B)
{
return _mm_div_ps (__A, __B);
}
int main(void)
{
return 0;
}
것은 의도적 4 'float's를 인쇄하려고 8 int16's로? – Mysticial
아니요. 내가 게시물의 끝 부분에 썼던 것이 틀린 것일 수도 있습니다. 그래서 그것을 4 개의 부유물에 맞게 고쳐야합니까? – pandoragami
잠깐, 그래서 네가 거기에있는 것 대신에'printf()'를 어떻게'float' 4 장을 출력하도록 바꾸는 지 묻는거야? – Mysticial