sse

    5

    1答えて

    はるかに高速です。私が使用するテストコードは以下の通りです。 -O2でコンパイルすると1.7秒かかります。 -O2 -mavxでコンパイルすると、わずか1.0秒しかかかりません。 vexでエンコードされていないスカラー操作は70%遅くなります! これはなぜですか? ここには-O2と-O2 -mavxのアセンブリがあります。 https://godbolt.org/g/w4p60f システム:[em

    1

    2答えて

    は、私は16ビットのデータとSSEの配列を持って考えてみましょう8ビットのデータレジスタ: {1,2,3,4,5,6,7,8} 今、私は唯一の下位バイトを格納することにより、8ビットのデータにこのSSEの配列を変換する必要があります以下のような最初の8つのバイトで16ビットデータの: {1,2,3,4,5,6,7,8,0,0,0,0,0,0,0,0}. この操作を実行するための任意のSSE命令はあ

    3

    2答えて

    __m128ベクトルの任意の要素をブロードキャストする必要があります。例えば 第二の要素: __m128 a = {a0, a1, a2, a3}; __m128 b = {a1, a1, a1, a1}; 私は組み込み関数の_mm_set1_ps(フロート)と_mm_broadcast_ss(フロート*)があることを知っています。 しかし、これらの組み込み関数は、メモリの共通使用レジスタか

    3

    1答えて

    #define Size 50000 void main() { unsigned char *arry1 = (unsigned char*)malloc(sizeof(unsigned char)* Size); unsigned char *arry2 = (unsigned char*)malloc(sizeof(unsigned char)* Size);

    -3

    1答えて

    を使用して符号なしshortにunsigned char型に変換することができ、問題はどのように

    5

    1答えて

    __SHA__が定義されていない場合、インラインアセンブリを使用してSHA命令を使用可能にします。 GCCの下で、我々は使用:クランはGCCのYz constraint(Clang 3.2 Issue 13199とClang 3.9 Issue 32727を参照)、sha256rnds2命令によって必要とされる消費しない GCC_INLINE __m128i GCC_INLINE_ATTRIB

    8

    4答えて

    私の想像力ですか、またはPNOT命令がSSEとAVXにないのですか?つまり、ベクトルの各ビットを反転させる命令です。 「はい」の場合は、すべて1のベクトルでPXORよりも良いエミュレーション方法がありますか?私はすべての1のベクトルを設定してそのアプローチを使用する必要があるため、かなり迷惑になります。

    0

    1答えて

    ImはいくつかのSSEコードをNeonに移動し、Imは_mm_movelh_psに相当するものを見つけることができません。私はかなり何かを見つけることができないGoogle ...私は何かが欠けている?同じことをするネオン関数があるか、それともCPU上で実装する必要があります(理想的ではありません)。 ありがとうございます!

    4

    2答えて

    SIMDのカラーlerp関数で作業しているときに奇妙な動作に遭遇しました。私はそれを最小限のプログラムにトリムダウンしました。この例のSIMDコードは、もはやlerpを実行しませんが、32ビットカラーからXMMレジスタにアンパックしてから32ビットに戻します。 リリースx64モードのMSVC++ 2015(Update 3)では、次のコードでは正しい結果が得られませんが、Debug x64またはR

    0

    1答えて

    を鋳造私は組み込み関数__double2loint、__double2hiintと__hiloint2doubleキャストCUDAタイプのCPU同等物が何であるか、把握しようとしています。 _mm_cvttsd_si32は__double2lointと同等かもしれないと思いますが(それは正しいですか?)、__double2hiintと__hiloint2doubleに相当するものは見つかりませんで