SSSE3
読み:エスエスエスイー-スリー
外語:SSSE3: Supplemental Streaming SIMD Extensions 3
SSE3(ストリーミングSIMD拡張命令3)を拡張したもの。
特徴
演算
SSE3と比較し、16個の新命令が追加された。
特に、水平加算などが追加されたため、内積計算などが高速化された。
機能の有無判別
機能の有無は、EAXレジスターに1を代入してCPUID命令を実行し、ECXレジスターに得られたフラグのビット0が1かどうかで確認できる。
新命令
SSSE3では16の新命令が追加された。それぞれ、64ビットのMMXレジスター用と128ビットのXMMレジスター用があることから、Intelの資料には「32個の新命令」と書かれている。
SSE4ではなくSupplemental SSE3という名前の通り、SSE3を補完する小規模な強化となっている。
- パックド符号指定
- psignb ‐ 符号付きバイト整数の符号に応じた操作
- psignw ‐ 符号付きワード整数の符号に応じた操作
- psignd ‐ 符号付きダブルワード整数の符号に応じた操作
- パックド水平加算
- phaddw ‐ 符号なしワード整数の水平加算
- phaddd ‐ 符号なしダブルワード整数の水平加算
- phaddsw ‐ 符号付きワード整数の飽和を伴う水平加算
- パックド水平減算
- phsubw ‐ 符号なしワード整数の水平減算
- phsubd ‐ 符号なしダブルワード整数の水平減算
- phsubsw ‐ 符号付きワード整数の飽和を伴う水平減算
- パックド整数の乗算と加算
- pmaddubsw ‐ 符号付きバイトと符号なしバイトを乗算し、水平加算、飽和符号付きワード得る
- パックド絶対値
- pabsb ‐ パックド・バイトの絶対値
- pabsw ‐ パックド・ワードの絶対値
- pabsd ‐ パックド・ダブルワードの絶対値
- パックド符号なし整数の乗算と、丸めおよびシフト
- pmulhrsw ‐ 符号付きワードの乗算、符号付きダブルワードの基準化と丸めの結果の上位16ビットを得る
- シャッフル
- 右論理シフト
再検索