2017-04-03 2 views
0

Ich habe festgestellt, dass _ mm_div_epi64/_mm_div_epu64 ist nicht in den Headern für simd intrinsics definiert und ich verstehe nicht, warum es nicht. Wenn es eine Multiplikation wäre, würde es Sinn machen, da 64Bit * 64Bit = 128BI t, die überlaufen würden, aber 64Bit/64Bit = 64Bit.Warum ist _mm_div_epi64/_mm_div_epu64 nicht definiert?

Es sei denn, es gibt ein unvorhergesehenes Problem mit 64-Bit-Division für Xmm-Register.

Hinweis: Ich verwende Visual Studio 2017

Antwort

0

Welche Header sind Sie bei der Suche? Gemäß der Intel Intrinsics Guide sind beide dieser Anweisungen in "immintrin.h" definiert.

+0

Ich bin immintrin.h durch intrin.h enthalten. Auch habe ich eine Textsuche durch alle rekursiv enthaltenen Dateien durchgeführt, um die Signatur zu finden. Kein Glück. – Jarann

+1

['_mm_div_epi64'] (https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_div_epi64&expand=2040,2040,2040) * und andere * sind [Intel SMVL] (https: // software. intel.com/en-us/node/523792) Funktionen, nicht intrinsics - Sie müssen den Intel ICC Compiler verwenden, um diese Vorteile zu nutzen. –