5

I've found that MSVC's copy of zmmintrin.h defines functions for computing the Inverse Cube Root of an __m512 32-bit float vector and a __m512d double vector

 _mm512_invcbrt_ps();
 _mm512_invcbrt_pd();

However, these functions appear nowhere in the Intel Intrinsics Guide: https://software.intel.com/sites/landingpage/IntrinsicsGuide/

or in Intel's more detailed development guide: https://software.intel.com/content/www/us/en/develop/documentation/cpp-compiler-developer-guide-and-reference/top/compiler-reference/intrinsics/intrinsics-for-intel-advanced-vector-extensions-512-intel-avx-512-instructions/intrinsics-for-arithmetic-operations-1/intrinsics-for-short-vector-math-library-svml-operations/intrinsics-for-root-function-operations-512-bit.html

They don't seem to be listed on Microsoft's website though, see: https://learn.microsoft.com/en-us/cpp/intrinsics/compiler-intrinsics?view=msvc-160

I know there are Sequence Intrinsics for the Inverse Square Root:

_mm512_invsqrt_ps();
_mm512_invsqrt_pd();

and I'm aware that there are Inverse Cube Root Sequence Intrinsics for AVX:

 _mm256_invcbrt_ps();
 _mm256_invcbrt_pd();

So are _mm512_invcbrt_ps(); and _mm512_invcbrt_pd(); Microsoft Specific or did Intel literally forget to document one of their intrinsics ?!?

6
  • 5
    xxx_invcbrt_xxx et al are part of SVML, rather than regular intrinsics which map to machine instructions. Commented Aug 14, 2021 at 7:37
  • 4
    Kind of the opposite question from Where is Clang's '_mm256_pow_ps' intrinsic? / C++ error: β€˜_mm_sin_ps’ was not declared in this scope about cases where Intel does confusingly document SVML functions next to actual intrinsics, but other compilers don't come with SVML. Commented Aug 14, 2021 at 11:38
  • I think it may be MSVC-specific after all, _mm512_invcbrt_ps does not compile on Godbolt's with GGC Trunk with options: -O3 -mavx512f mveclibabi=svml Commented Aug 24, 2021 at 2:14
  • 1
    I don't think they are MSVC-specific, as they are present here software.intel.com/sites/landingpage/IntrinsicsGuide/… , also available in ICC godbolt.org/z/bo3PYWrxc Commented Sep 13, 2021 at 7:26
  • 1
    @AlexGuteniev I said in my post that I'm aware of the AVX Intrinsics, I'm asking about the AVX-512 versions using 512-Bit registers. Commented Sep 14, 2021 at 15:19

0

Your Answer

By clicking β€œPost Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.