On Thu, Jan 10, 2019 at 10:46:14AM +0100, Dr. Matthias Kretz wrote:
> I strongly believe this API change needs to be reverted (unless I completely 
> misunderstand how vfixupimm works):
> 
> 1. This change breaks API with previous GCC releases. I.e. source code that 
> compiled with GCC 8 will not compile with GCC 9 anymore. If you really want a 
> "simplified" fixup intrinsic, add a new one.
> 
> 1'. It'll be really frustrating to support code that compiles on more than a 
> single compiler & version.
> 
> 2. Some existing documentation (e.g. https://software.intel.com/sites/
> landingpage/IntrinsicsGuide) still documents the old interface.
> 
> 3. Why was this change introduced to the SDM in the first place? E.g. a logb 
> implementation looked like this:
> 
> ```
> _mm_fixupimm_ps(_mm_getexp_ps(x), x, _mm_set1_epi32(0x00550433), 0x00);

I guess you could use
_mm_mask_fixupimm_ps(_mm_getexp_ps(x), -1, x, _mm_set1_epi32(0x00550433), 0x00);
because that one does allow you to specify the dest operand.

But I agree it is just weird, the non-masked intrinsics don't take into
account the 0b0000 cases anymore.

        Jakub

Reply via email to