SSE指令學習 四大儲存指令

2021-07-22 03:08:50 字數 947 閱讀 2739

1、 _mm_store_si128 ( __m128i *p, __m128i a);

指令名:void_mm_store_si128 ( __m128i *p, __m128i a);

功能:可儲存128位資料;

說明:將__m128i 變數a的值儲存到p所指定的變數中去;

2、 _mm_storel_epi64( __m128i* a , __m128i b );

指令名: void_mm_storel_epi64( __m128i* a , __m128i b );

功能:只儲存低64位資料;

說明:a是 乙個要寫入的記憶體中的__m128i 結構體變數指標; b是乙個要讀取(對映到xmm 硬體暫存器)的__m128i 結構體變數;

3、 _mm_storeu_si128 ( __m128i *p, __m128i a);

指令名:void_mm_storeu_si128 ( __m128i *p, __m128i a);

功能:可儲存128位資料;

說明:將__m128i 變數a的值儲存到p所指定的變數中去;

4、_mm_maskmoveu_si128( __m128i d, __m128i n, char *p);

指令名:void_mm_maskmoveu_si128( __m128i d, __m128i n, char *p);

功能:有條件選擇的儲存128位資料,且不要求記憶體16-bit對齊;

說明:根據n將d中的數值儲存到p中去;

返回值:如果將n看做16個8位數值,則根據這16個8位數值的最高位(分界值為0x70/0x80)來決定是不是將16個8位d數值儲存到p所指定的陣列中去;

注意:該指令非常耗時,因為其功能強大,一般是其餘儲存指令執行時間的大約10倍。

SSE指令學習 mm shuffle

mm setr epi8 integer,sets中的函式,初始化賦值。mm shuffle epi8 第乙個引數為輸入陣列 第二個引數為掩模,對應輸入陣列的第幾個值。功能 對資料進行重組,非常靈活。當掩模值大於1時,該值除以16求餘,如17即為1。當掩模值為 1時對應值為0。m128i a mm ...

SSE指令的使用學習

1.什麼是指令集?指令集是為了增強cpu在某些方面 如多 的功能而特意開發出的一組程式 集合。2.常見的指令集有哪些呢?1 mmx multi media extensions,做 擴充套件 指令集 intel1996年推出的一項多 指令增強技術。共包含57條多 指令,這些指令一次可以處理多個資料。...

Linux指令學習 四

ep4 程序管理 安裝stress sudo apt install stress stress 給系統增加負載或者進行壓力測試 t timeout n n秒後超時 c cpu n 孵化n個worker,死迴圈sqrt cpu i io n 孵化n個worker,死迴圈sync io m vm n ...