sse2

    7

    1答えて

    ?これまで私はスタックを一時的に使用していました。たとえば、 mov [rsp + 0x00], r8 mov [rsp + 0x08], r9 mov [rsp + 0x10], r10 mov [rsp + 0x18], r11 vmovdqa ymm0, [rsp] ; stack is properly aligned first. 5つのオペランドを持つ命令を意味するので、こ

    1

    1答えて

    メモリ位置から256ビットをすぐにYMMレジスタに移動できますか? 私はXMMレジスタを埋めるためにしたい場合は、私はGCCのインラインアセンブラで使用します。 "movlpd mytest_1(%rip),%xmm1 \n\t" "movhpd mytest_1+8(%rip),%xmm1 \n\t" は、これは私が推測するより簡単に行うことができますか? さらに: 同じ手

    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);

    2

    2答えて

    sse2組み込み関数を使用してfloor()呼び出しをベクトル化し、パフォーマンスの向上を測定することを検討しています。しかし、最終的にバイナリは私がアクセスできない仮想マシン上で実行されます。 私は実際にVMの仕組みを知らない。バイナリは完全にソフトウェアエミュレートされた仮想CPU上で実行されていますか? もしそうでなければ、バイナリからSSE2命令を実行するときに、VMがCPUのSSE2命令

    0

    2答えて

    Eigen :: vector3d型のstd :: vectorがあり、Microsoft Visual Studio 2012で/Qvec-reportを持つこのコードをコンパイルしているとき:ベクトル化の詳細を報告するための2フラグon。それが原因MSDNのページで指定されている理由1304(ループのタイプが異なる割り当てが含まれている)にベクトル化されませんループを示しています - http

    -1

    1答えて

    Eigen :: vectorsを使用しているコードを持っているので、EigenがこのコードをSSE用に最適化しているかどうかを確認します。 私はVisual Studio 2012 Expressを使用していますが、コマンドラインオプション"/ Qvec-report:2"を設定すると、C++コードの最適化の詳細が得られます。ビジュアルスタジオやEigenにコードが最適化されているかどうかを教え

    0

    2答えて

    Visual Studio 2012以降、SSE2のコンパイルオプションは「デフォルト」ごとに有効になります。 私にとっても、その機能を利用して、自分のプロジェクトのフラグを手動で無効にすることはもうできません。 しかし、SSE2をサポートしていない古いプロセッサでこのプログラムを実行すると、のようなプログラムがクラッシュしてになってしまいました。例えば 参照:Visual C++ 2012 co

    -1

    1答えて

    私は一度に3つの非対称整数値の3つの対称セットで動作するいくつかのコードを持っています。かなりの量の条件コードと多くの定数があります。 これはperfボトルネックになっており、64ビットIntel/AMD CPU上のSIMDでパフォーマンスが向上すると、私はいくつかのルールを探しています。コードはかなり長く、前にSSE2やAVXを使用したことがないので、時間を投資する前にperfの勝利が可能かどう

    0

    1答えて

    SSE組み込み関数を使用してコードを最適化しようとしています。ドキュメントを読んだ後、浮動小数点変数のためにSSEに__m128データ型があり、4つの浮動小数点数を格納できることがわかりました。 SSE2には2つの浮動小数点数しか格納できない__m128dがありますか?これらの変数の違いは何ですか? SSE2はSSEより高速であるとは思われませんか?