메모리에서 8개의 문자를 압축된 단일 정밀도 부동 소수점으로 __m256 변수에 로드
가우시안 블러에 대한 알고리즘을 최적화하려는 노력의 일환으로 부동 버퍼의 사용을 __m256 내장 변수로 대체하려고 합니다. 이 질문의 목적은 이 작업에 대한 최적의 지침을 결정하는 것입니다.
AVX2 아키텍처 지침:
; rsi = new_image VPMOVZXBD ymm0, [rsi] ; or SX to sign-extend (Byte to DWord) VCVTDQ2PS ymm0, ymm0 ; convert to packed foat
추가 전략:
AVX1 아키텍처 지침:
다음 단계를 수행하십시오.
VPMOVZXBD xmm0, [rsi] VPMOVZXBD xmm1, [rsi+4] VINSERTF128 ymm0, ymm0, xmm1, 1 ; put the 2nd load of data into the high128 of ymm0 VCVTDQ2PS ymm0, ymm0 ; convert to packed float
본질적 고려 사항:
위 내용은 __m256 변수에 8개의 문자를 압축된 단일 정밀도 부동 소수점으로 로드하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!