sse

    2

    1답변

    보다 큼,보다 작거나 같음에 대한 명령어가 이러한 함수와 함께 호출됨을 발견했습니다. emmintrin _mm_cmpeq_epi8 (__m128i __A, __m128i __B) _mm_cmplt_epi8 (__m128i __A, __m128i __B) _mm_cmpgt_epi8 (__m128i __A, __m128i __B) mmintrin

    0

    1답변

    clobber 목록에 아무 것도 쓰지 않으면 gcc 컴파일러가 레지스터 백업에 push/pop을 사용합니까? 입력 및 출력 목록 레지스터는 어떻게됩니까? 일반 목적 레지스터를 XMM/YMM 레지스터에 저장 한 후 범용 레지스터에서 재생하는 간단한 asm 인라인을 작성합니다. 결국 원래 값이 XMM/YMM 레지스터에서 일반 용도로 반환됩니다. 컴파일러가 푸시

    1

    1답변

    두 레지스터의 상위 워드와 하위 워드를 다른 레지스터로 인터리브하는 SSE 명령어가 있습니까? 예 : r[63-0] = a[64-127] r[64-127] = b[63-0]

    5

    1답변

    __m128 변수에 4 개의 SP 값이 있고 최소값을 원하거나 내장 함수가 있습니까? 아니면 순차적 선형 비교 이외의 다른 값이 필요합니까? 오른쪽 내 솔루션은 (입력 __m128 변수가 x 가정하자) 다음 알고 : x = _mm_min_ps(x, (__m128)_mm_srli_si128((__m128i)x, 4)); min = _mm_min_ss(x,

    1

    1답변

    숫자의 binary log을 찾는 방법이 있는지 알고 싶습니다. 숫자가 4이고 2를 올리면 4가 2가된다고합시다. 이것은 이동 및 카운팅에서는 가능하지만 조작은 O(N)입니다. 어떤 방법으로 O(1)을 n에 넣을 수 있습니까? x = 2^n? 여기 n을 찾으려면 x을 한 번에 사용하거나 O(1)을 알고 싶습니다.

    0

    1답변

    이 게시물 SSE load/store memory transactions에서 명시 적 레지스터 메모리 트랜잭션과 중간 포인터 간의 차이점에 대해 질문했습니다. 실제로 중간 포인터는 약간 높은 성능을 보였지만 하드웨어 측면에서 중간 포인터가 무엇인지 명확하지 않습니다. 포인터가 생성 된 경우 일부 SSE 연산 (예 : _mm_mul) 중에 일부 레지스터도 함

    1

    1답변

    나는 고도로 최적화 된 (SSE4),하지만 주석 처리되지 않은 C 코드를 상속 받았습니다. SSE 내장 함수를 더 읽기 쉬운 코드 또는 의사 코드로 변환 할 도구 나 유틸리티가 있습니까? 이것은 주로 가독성을위한 것이므로 코드를 파고 변경하기 전에 코드를 더 잘 이해할 수 있습니다.

    2

    3답변

    나는 다음과 같은 조회 및 보간 코드를 최적화해야합니다. (128 사이즈 플로트 테이블) Windows에서는 인텔 컴파일러, OSX에서는 GCC, 네온 OSX에서는 GCC와 함께 사용됩니다. for(unsigned int i = 0 ; i < 4 ; i++) { const int iIdx = (int)m_fIndex[i]; const f

    8

    1답변

    sse 내장 함수를 사용하여 float 벡터의 합계 요소 (축소)를 얻으려면 어떻게해야합니까? 간단한 시리얼 코드 : 일반적으로 void(float *input, float &result, unsigned int NumElems) { result = 0; for(auto i=0; i<NumElems; ++i) result +=

    1

    1답변

    최적화를 위해 SSE에서 ARM Neon으로 코드를 변환하려고합니다. 코드의 SSE 명령어의 대부분은 네온과 비슷한 명확한 것을 발견했습니다. 그래도 이러한 문제가 발생했습니다. result1_shifted = _mm_srli_si128 (result1, 1); result=_mm_packus_epi16 (res1,res2); _mm_storeu_s