Hi Paul,

I'd rather not move them into immintrin.h. The current situation is that if you 
include emmintrin.h you get "too many" intrinsics w.r.t to the Intel docs (and 
immintrin.h is just right, since it recursively includes emmintrin.h), while if 
we move it to immintrin.h, including emmintrin.h would provide "not enough" 
intrinsics. So, in terms of compatibility, I think this is slightly better.
Regarding MSVC and GCC - MSVC doesn't have an emmintrin.h (or any other 
specialized intrinsic file) and puts everything in immintrin.h. GCC, in my 
opinion, should probably also be fixed. :-)

On the other hand, I undersand why providing _mm256 stuff in emmintrin.h may be 
a problem. Perhaps we can split the file in two (or move the relevant 
intrinsics directly into emm/immintrin)?
That would means our header structure is slightly different from GCC's, but 
since this file should not be included directly anyway, that doesn't really 
bother me.
Does that sound reasonable to you?

Michael

-----Original Message-----
From: Paul Robinson [mailto:paul_robin...@playstation.sony.com] 
Sent: Monday, November 30, 2015 23:01
To: Kuperstein, Michael M; Badouh, Asaf
Cc: cfe-commits@lists.llvm.org
Subject: Re: [PATCH] D13015: [X86] Make f16c intrinsics accessible through 
emmintrin.h, per Intel docs

probinson added a subscriber: probinson.
probinson added a comment.

Regarding _mm[256]_cvtps_ph and ...cvtph_ps, I can find an Intel doc that say 
the _mm_* functions are in emmintrin.h and the _mm256_* are in immintrin.h, so 
putting them all with emmintrin.h is not consistent with what Intel says.  I 
can find a Microsoft doc that say these are all available with immintrin.h (not 
emmintrin.h).  It looks like gcc puts them with immintrin.h also.

Can we move the #include of f16cintrin.h from emmintrin.h to immintrin.h?  It 
would be more compatible with everybody else, and equally inconsistent with 
Intel's doc AFAICT.


Repository:
  rL LLVM

http://reviews.llvm.org/D13015



---------------------------------------------------------------------
Intel Israel (74) Limited

This e-mail and any attachments may contain confidential material for
the sole use of the intended recipient(s). Any review or distribution
by others is strictly prohibited. If you are not the intended
recipient, please contact the sender and delete all copies.
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to