問題タブ [altivec]
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.
c++ - Altivec -- const 変数のロード
altivecを使用してconstポインタからロードする最良の方法は何ですか?
ドキュメント (および私の結果) によると、vec_ld は const ポインターを引数として取りません: http://www-01.ibm.com/support/knowledgecenter/SS2LWA_12.1.0/com.ibm.xlcpp121.bg.doc /compiler_ref/vec_ld.html
したがって、次のようなものは失敗します。
厄介な回避策は次のとおりです。
これを行うより良い方法はありますか?ありがとうございました。
simd - Powerpc では、Intel の movemask 組み込み関数に相当するものはありますか?
__vector bool long long 内のすべての要素を単一の int にマージしたいのですが、各ビットは入力ベクトルの最上位ビットに設定されます
例:
と
x は、vcmd[0] = 0XFFFFF の場合は 1、または vcmp[0] = 0 の場合は 0 です。y も同様。
intel では、_mm_movemask 命令 ( intel の組み込み)を使用してこれを実現できます。
PowerPC で同じことを行う方法はありますか?
助けてくれてありがとう
c++ - Altivec を使用してメモリ内のアラインされていない場所にベクトルを格納する方法
チュートリアルから、アライメントされていない読み込みと保存が次のようになることを知っています。
ひどいですね。1 つのベクトルを格納するために、非常に多くの作業が必要です。そして、適切なパフォーマンスの損失があります。
2番目の機能は、最初の機能よりも3〜4倍ゆっくりと機能します。入力メモリと出力メモリのアライメントを制御できないため、両方のバージョンを実装する必要があります。アライメントされていないケースのパフォーマンスの低下を最小限に抑えるにはどうすればよいですか?
c - パラメータ タイプは、このリンケージ タイプの関数に対して無効です
IBM の XL C コンパイラーを使用して AIX に取り組んでいます。コンパイル エラーが発生しましたが、どうすればよいかわかりません。
関連するソースコードを以下に示します。完全なソース コードは で入手できますfips197-p8.c
。ソース コードは、Power 8__cipher
およびのテスト ドライバーです__vcipherlast
。メイン関数といくつかの C 関数があります。実際には、Power 8 AES の最小限の完全な動作例です。
コンパイラのバージョンを以下に示します。私たちはコンパイラを制御していないので、これは私たちが持っているものです:
vec_xl
リトルエンディアンで問題ありません。vec_xl
ビッグエンディアンが問題を引き起こしているからです。
問題は何ですか?どうすれば修正できますか?