0

I've noticed that _mm_div_epi64/_mm_div_epu64 isn't defined in the headers for simd intrinsics and I don't get why it wouldn't. If it was multiplication it would make sense since 64bit * 64bit = 128bit, which would overflow but 64bit / 64bit = 64bit.

Unless there's some unforeseen issue with 64bit division for xmm registers.

Note: I am using Visual Studio 2017

Santiago Varela
  • 2,199
  • 16
  • 22
James Nguyen
  • 1,079
  • 1
  • 10
  • 20

1 Answers1

0

Which header are you looking in? According to the Intel Intrinsics Guide, both of those instructions are defined in "immintrin.h".

1201ProgramAlarm
  • 32,384
  • 7
  • 42
  • 56
  • I am including immintrin.h through intrin.h. Also I did a text search through all the files included recursively to find the signature. No luck. – James Nguyen Apr 03 '17 at 05:34
  • 1
    [`_mm_div_epi64`](https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_div_epi64&expand=2040,2040,2040) *et al* are [Intel SMVL](https://software.intel.com/en-us/node/523792) functions, not intrinsics - you need to be using the Intel ICC compiler to take advantage of these. – Paul R Apr 03 '17 at 07:15