mmx

    0

    1답변

    MMX 명령어 세트를 사용하여 RGB 형식으로 저장된 이미지에서 많은 작업을 수행하는 Linux C 프로그램을 최적화하고 싶습니다. 각 RGB 구성 요소는 서명되지 않은 char에 저장됩니다. 연산은 간단합니다 : 한 픽셀 씩 다른 픽셀에서 하나의 이미지를 뺀 다음 차이의 절대 값 합계를 누적합니다. (기본적으로, 나는 작은 이미지 나 패턴을 가지고 있으며

    0

    1답변

    어셈블리 언어를 사용하여 두 개의 작은 배열에 대한 간단한 점 계산을 수행하려고합니다. 메이크 파일에서 컴파일 #include <cstdio> #include <cstdint> #include <cstdlib> void fillArray(int16_t* a, int16_t* b, int n){ std::srand(1); int

    0

    1답변

    내가 64 어셈블리 및 Visual C와 함께 일하고 있어요 ++ 2010/MASM은 명령 movq mm0, rax 는 "잘못된 명령 피연산자"가 포함 내게 말하고있다. 이것은 실제로 불법입니까, 아니면 버그 일 수 있습니까? 지침을 사용하지 않고이 절차를 수행하는 방법은 무엇입니까?

    1

    1답변

    AT &에서 T 구문 명령어는 종종 64 비트 피연산자에 대한 연산에 대해 q과 함께 적절한 피연산자 크기의 접미사가 있어야합니다. 그러나 MMX에는 movq 명령도 있습니다. 그렇다면 이것은 AT & T에서 어떻게 표현 될까요? 다른 q 같은 접미사가 필요합니까 movqq %mm1, %mm0 아니요? 접미어가 AT & T와 비슷한 지침이있는 경우에도

    1

    1답변

    다음 두 비트를 __m128i으로 변환하는 유일한 방법은 bitwise-or'ing 변환입니다.는 이 m128d v2dHi = .... m128d v2dLo = .... __m128i v4i = _mm_set_epi64(_mm_cvtpd_pi32(v2dHi), _mm_cvtpd_pi32(v2dLo)) 구축 64 엑스 코드에 완벽하게 허용하고 해체 _

    1

    4답변

    어셈블리에서 손을 사용해 필자는 실제로 사용하지 않은 벡터 연산을 사용하고 있으며 일부 구문을 파악하는 데 어려움을 겪고 있습니다. 관련 코드는 다음과 같습니다. unit16_t asdf[4]; asdf[0] = 1; asdf[1] = 2; asdf[2] = 3; asdf[3] = 4; uint16_t other = 3; __asm__("mov

    -4

    1답변

    필자는 100 개의 요소로 된 배열을 가지고 있으며이 100 개의 요소를 모두 추가하려고합니다. 나는 for(i=0;i<100;i++) { sum+= a[i]; } 우리가 프로세서는 응용 프로그램의 속도를 줄일 수 100 개 요소를 추가 (100)의 지시주기를 가지고 있다고 가정하자 노호와 같은의 C 코드를 사용하고 있습니다. 그래서, 응용 프로그

    2

    1답변

    내 컴퓨터가 Core2 마이크로 아키텍처이고 SSE 명령어 세트를 대상으로하는 산술 코드를 컴파일하려고했습니다. 웹 및 공식 매뉴얼에서 검색 한 결과, 내 칩이 SSE를 지원하므로 플래그 -march=native을 추가해야한다고 생각합니다. 그러나 플래그가 실제로 작동하는지 확인하려면 gcc -march=native -Q --help=target -v을 사

    1

    1답변

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

    1

    1답변

    SSE 명령어를 사용하여 정수 값을 곱하고 더하는 프로그램을 작성하고 있습니다. 나는 float로 같은 프로그램을했지만 내 정수 버전에 대한 설명이 빠져있다. 내 모든 작업을 완료 한 후 수레와 는, 내가하고 일반 float 배열로 다시 드 값을 반환 : _mm_store_ps(temp4,temp3); temp4는 플로트 *이며, __m128을 TEMP