私の印象は間違いないでしょうが、おそらく巧妙なトリックがありますか?おかげさまで XMMレジスタを使用して128ビット整数演算を行うことはできますか?
3
A
答えて
2
直接ではありませんが、128ビット(またはそれ以上)の精度を容易に組み合わせることができる64ビットの算術演算があります。
+1
実際の実装がスカラーバージョンよりも遅くなる可能性があるので、add-with-carryオペレーションは存在しないことに留意してください。 –
+0
@ジャスパー:良い点 - これは実装が簡単ではありますが、ほとんどの現代のx86 CPUに搭載されている2つの64ビットスカラーALUを使用するだけでは性能があまり良くない場合があります。 –
1
xmmレジスタは、8,16,32、および64ビットの整数で算術演算を行うことができます。キャリーフラグは生成されないため、精度を64ビット以上に拡張することはできません。拡張精密数値ライブラリは、OSに応じて32ビットまたは64ビットの汎用レジスタを使用します。
関連する問題
- 1. XMM 128ビットレジスタを2つの64ビット整数レジスタに分割する方法は?
- 2. XMMレジスタ間で128ビット値をどのように移動させますか?
- 3. GPUでの整数演算とビット演算の実行
- 4. xmmレジスタの乗算
- 5. 大きな整数を使用したビット演算
- 6. 128ビット整数6
- 7. ビット演算子を使用してCの符号なし整数からビットを分離する方法は?
- 8. ビット単位の演算子を使用して整数に5を掛ける
- 9. 整数型とlong型のJavaのビット演算子ですか?
- 10. 128ビット整数とウィンドウ上のc?
- 11. 整数昇格によるビット演算
- 12. 32ビット整数のRotateLeft演算
- 13. 整数とビットの配列の間のビット演算
- 14. 整数で「または」演算子を使用するとは何ですか
- 15. ビット演算を使用してC#を比較します。
- 16. ビット演算とビットシフト演算
- 17. ビット演算子を使用したパターン
- 18. ビット単位の演算子を使用して整数の最初と最後の数字をスワップ
- 19. ビット演算子または演算子|メモリブロックを整列するためのCの使用
- 20. バイト[]に対してビット単位の演算を実行できますか?
- 21. ビット演算子はいつ使用しますか?
- 22. xmmレジスタの値を保存
- 23. XMMレジスタをスタックにプッシュ
- 24. 定数問題を伴うビット演算
- 25. これらのJavaScriptビット演算子は何をしますか?
- 26. ビット単位の演算を使用して整数値の任意の数字を付加する
- 27. gccに128ビット整数がありますか?
- 28. NCalcでは、数学演算で{} []を使用できますか?
- 29. シフトと加算を使用する64ビット整数のモジュロ7
- 30. ポインタ演算のみを使用して整数配列のディープコピー
私はSSE4が128ビット整数をサポートしていると思います。 – leppie
@leppie:いいえ、それは間違っています - 64ビットの整数演算がいくつかあります(例えば、 'PADDQ'と' PSUBQ')があります。 –
[__int128_t算術はSSEでもGCCでエミュレートされますか?](http://stackoverflow.com/q/16566437/995714)[実用的なBigNum AVX/SSEは可能ですか?](http://stackoverflow.com/q/27923192)/995714) –