- 并行編程方法與優化實踐
- 劉文志
- 223字
- 2019-01-01 01:08:28
1.1.3 比較
SSE內置函數支持的比較操作及其數據類型如表1-3所示。不但有測試向量中元素是否為全0或全1的指令,還有幾乎所有可能的比較測試指令。
表1-3 SSE判斷指令
比較指令返回的結果是掩碼,即如果比較成立的話,則對應位置的值為1,否則為0。
下面給出通用的cmp指令定義,其他的cmp*指令的語義都可歸為cmp的某種特殊情況。
__m128 _mm_cmp_ps(__m128 a, __m128 b, const int mask) r[0] = (a[0] op b[0]) ? oxffffffff:0; r[1] = (a[1] op b[1]) ? oxffffffff:0; r[2] = (a[2] op b[2]) ? oxffffffff:0; r[3] = (a[3] op b[3]) ? oxffffffff:0;
其中mask的數值表示了執行的具體比較操作(op),可查閱Intel指令集手冊,本節就不詳細列出了。
推薦閱讀