問題タブ [intrinsics]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
15001 参照

c - ARM Cortex-a8 で乗算および累算組み込み関数を使用する方法は?

GCC が提供する Multiply-Accumulate 組み込み関数の使用方法は?

この関数に渡さなければならない 3 つのパラメーターを誰か説明できますか? ソースレジスタとデスティネーションレジスタ、および関数が返すものを意味しますか?

ヘルプ!!!

0 投票する
1 に答える
4158 参照

simd - NEON SIMDを使用して2行の要素をマージする方法は?

私は

私は私と2列を持っています、

これらからどうやって得ることができますか -

これらの 2 つの行をマージできる単一の NEON SIMD 命令はありますか? または、組み込み関数を使用して可能な限り最小限の手順でこれを達成するにはどうすればよいですか?

zip/unzip組み込み関数を使用することを考えましたが、 zip 関数が返すデータ型はfloat32x2x2_t、私には適していませんfloat32x4_t。データ型が必要です。

0 投票する
2 に答える
3505 参照

optimization - SSE2 組み込み関数: メモリーに直接アクセス

多くの SSE 命令では、ソース オペランドを 16 バイト アラインされたメモリ アドレスにすることができます。たとえば、さまざまな (un) pack 命令。PUNCKLBW には次の署名があります。

PUNPCKLBW xmm1, xmm2/m128

現在、これは組み込み関数ではまったく可能ではないようです。_mm_load* 組み込み関数を使用してメモリ内の何かを読み取ることが必須のようです。これは、PUNPCKLBW の組み込みです。

__m128i _mm_unpacklo_epi8 (__m128i a、__m128i b);

(私の知る限り、__m128i 型は常に XMM レジスタを参照します。)

さて、これはなぜですか?メモリを直接アドレス指定することで最適化の可能性が見られるので、かなり悲しいです...

0 投票する
4 に答える
7171 参照

c - 組み込み関数、定義できません(C)

abs()という関数を実装しました。このエラーが発生します:

組み込み関数、定義できません

私は何を間違えましたか?VisualStudio2005を使用しています。

0 投票する
5 に答える
4376 参照

arm - 8 ビットの uint8_t を uint32_t としてロードしますか?

私の画像処理プロジェクトはグレースケール画像で動作します。ARM Cortex-A8 プロセッサ プラットフォームを使用しています。NEONを活用したい。

私はグレースケールの画像を持っています (以下の例を考えてください)。私のアルゴリズムでは、列のみを追加する必要があります。

4 つの 8 ビット ピクセル値( uint8_t ) を4 つの uint32_tとして128 ビット NEON レジスタの 1 つに並列にロードするにはどうすればよいですか? これを行うには、どの組み込み関数を使用する必要がありますか?

つまり:

代替テキスト

よく見ると、255 + 255 を実行する瞬間は 512 であり、8 ビット レジスタに保持できないため、32 ビットとしてロードする必要があります。

例えば

0 投票する
2 に答える
6428 参照

gcc - Mac での SSE4.1 組み込みコンパイル エラー

SSE4.1 組み込み関数をサポートしている (と思う) ハードウェアで SSE4.1 組み込み関数を使用するのに問題があります。私が何かを逃したかどうか誰かに教えてもらえますか?

MacBookPro5,4 (Penryn) で次のコードをビルドします。

次のエラーが生成されます。

0 投票する
1 に答える
2375 参照

arm - NEON 比較 (以上) 命令の使用方法

一般的な NEON 比較命令の使用方法

これは、私が使用したい、より大きいまたは等しい命令ですか?

現在、私は、

NEON では、x を同​​じように使用したいと思いますが、今回の x はベクトルです。

0 投票する
4 に答える
2333 参照

c - SSE 組み込み関数を使用して連続しないメモリ位置に値を格納する方法は?

私は SSE の初心者で、組み込み関数を使用してコードのセクションを最適化しました。操作自体には満足しているのですが、結果の書き方をもっとうまくできないかと模索中です。結果は 3 つの_m128i変数になります。

私がやろうとしているのは、結果値から特定のバイトを連続しないメモリ位置に保存することです。私は現在これをやっています:

ここyで、、、cbおよびcrはバイト ( unsigned char) 配列です。私が定義できない理由から、これは私には間違っているようです。より良い方法について何か提案はありますか?

ありがとう!

0 投票する
6 に答える
1293 参照

c++ - サイクルを最適化するには?

次のボトルネック関数があります。

C++コードを SSE2 組み込み関数に置き換えたい。試してみ_mm_cmpgt_epi8ましたが、符号付き比較を使用しました。符号なしの比較が必要です。

私の問題を解決するためのトリック (SSE、SSE2、SSSE3) はありますか?

注: この場合、マルチスレッドを使用したくありません。

0 投票する
1 に答える
753 参照

arm - 組み込み関数を使用した先行ゼロの計算

組み込みシステム(FLACデコード、Windows CE、ARM 926 MCU)で動作するコードを最適化しようとしています。

デフォルトの実装では、マクロとルックアップテーブルを使用します。

bsrただし、ほとんどのCPUには、x86およびclzARM(http://www.devmaster.net/articles/fixed-point-optimizations/ )に専用の命令がすでにあり、より効率的です。

_CountLeadingZerosWindows CEには、その値を呼び出すだけの組み込み関数があります。ただし、マクロの4倍の速度です(1,000万回の反復で測定)。

専用のASM命令に依存する(はずの)組み込み関数が4倍遅くなる可能性はありますか?