Dolphinのコンパイル中にこのエラーが発生しました。私はGCC 5.2と6.3と一緒にclang-3.7と3.8を試しました。奇妙なのは、他のすべての_mm関数がうまくいくように見えることです。ちょうどこれです。エラー:宣言されていない識別子 '_mm_shuffle_epi8'の使用Ubuntu 16.04 Ryzen
答えて
SSE2は、他の_mm
の機能は(あなたはおそらく唯一のSSE2機能、ない_mm_abs_epi8
または_mm_cvtepi16_epi32
のような他のSSE3/SSSE3/SSE4機能を試してみました)働く理由である、x86-64でのベースラインです。
あなたはMSVCとは異なり、GCC /打ち鳴らすとSSSE3組み込み関数を使用するように(あなたのケースで-march=native
または-march=znver1
で有効)-mssse3
を必要とします。
ただあなただけを実行することを計画している場合は特に、-mpopcnt -msse4.1
か何かでカップルのISA拡張を可能にするよりも、それは-march=native
を使用することをお勧めしますので-mssse3
は、-mtune=
を設定しませんが、チューニングを-march=
設定しないことに注意1つのターゲットCPU上のバイナリ。 -mavx2
は何AVX2支持CPUはそれ(https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80568)の恩恵を受けていないにもかかわらず、-mavx256-split-unaligned-load
の-mtune=generic
動作を上書きしないので、例えば
は、AVX2を有効にするために、それは、-march=haswell
または-march=znver1
を使用するように、おそらく良いでしょう。つまり-mtune=generic
は、有効な拡張機能をサポートしているCPUのセットをチューニングするのではなく、完全に汎用のチューニング設定を常に使用します。
Sandybridgeは-mavx256-split-unaligned-load
/...store
から恩恵を受けますが、AVX2ではなくAVXのみをサポートしています。さらに、実行時にデータが実際には整列していない場合にのみ、データが99%の時間に整列されていればそれが必要ではないかもしれません。
- 1. "宣言されていない識別子エラーの使用"
- 2. 宣言されていない識別子エラーの使用
- 3. エラーメッセージ "宣言されていない識別子の使用"フィールド "
- 4. 宣言されていない識別子 'startClient'の使用ERROR
- 5. 宣言されていない識別子 'arr'の使用
- 6. 宣言されていない識別子 "customTableViewCell"の使用
- 7. 宣言されていない識別子 'a'の使用
- 8. 宣言されていない識別子 'AppDelegate'の使用
- 9. iOS Framework - 宣言されていない識別子の使用
- 10. 宣言されていない識別子 'cell'の使用
- 11. 宣言されていない識別子 'NSEntityDescription'の使用
- 12. 宣言されていない識別子 'NSMigratePersistentStoresAutomaticallyOption'の使用
- 13. 宣言されていない識別子の使用
- 14. エラー:宣言されていない識別子のエラー使用を
- 15. エラーC2065: 'のsocklen_t':宣言されていない識別子
- 16. RandomRange関数 '宣言されていない識別子'エラー?
- 17. CLSID_CNetworkListManager宣言されていない識別子 - エラー
- 18. Xcodeのエラー - 宣言されていない識別子の使用「GAdInterstitialKey_Live」
- 19. エラーc2065:_malloca宣言されていない識別子
- 20. エラー - 宣言されていない識別子の使用[UIFont familyNames]
- 21. 受容ビルドがエラー「宣言されていない識別子の使用 『ParseClientConfiguration』」
- 22. Open GLエラー:宣言されていない識別子 'gl_FragColor'の使用
- 23. NDKエラー:宣言されていない識別子 '__min'の使用
- 24. 使用イオス:: "宣言されていない識別子" エラーでNOCREATEフラグ結果
- 25. 宣言されていない識別子データベーステーブルが認識されない
- 26. なぜGKPlayerAuthenticationDidChangeNotificationName「宣言されていない識別子」
- 27. FireMonkeyアプリケーションで宣言されていない識別子 'GetProcAddress'
- 28. Android ndk r15b - Posix_memalign()宣言されていない識別子
- 29. TimerQueue宣言されていない識別子
- 30. C++ CLIのgcnew宣言されていない識別子
他の組み込み関数を試しましたか? '_mm_shuffle_epi8'はSSSE3にあります。あなたは ''または ''を含んでいますか? '-mssse3'でコンパイルしていますか? –
nemequ
私はを追加しました。私はそのフラグを試しましたが、それはまだ拒否しています。何かが欠けているような気がしたり、GCC/clangがZenアーキテクチャーでこの機能を有効にしていないような気がします。 –
Mitchell
x86ターゲットにSSSE3を指定した場合は、使用しているCPUが本当に問題ではありません。コンパイラは実際にはサポートしていないターゲットに対してもコードを生成する必要があります。 __SSSE3__がプリプロセッサで定義されていることを確認してください(-mssse3が行うべきことです)。また、それはsse3ではないことに注意してください... – nemequ