On 17 Feb 2018, at 00:12, Craig Topper via Phabricator 
<revi...@reviews.llvm.org> wrote:
> 
> craig.topper added inline comments.
> 
> 
> ================
> Comment at: lib/Basic/Targets/X86.cpp:1049
> 
> +  if (HasLAHFSAHF)
> +    Builder.defineMacro("__LAHFSAHF__");
> ----------------
> dim wrote:
>> craig.topper wrote:
>>> Does gcc define this? It's such a low level instruction I have a hard time 
>>> believing this define would be useful.
>> I tried gcc 6, 7 and 8, and while they do expose stuff like `__POPCNT__`, I 
>> see no `__LAHFSAHF__`.  I am supposing Jonathan's original intent with this 
>> was to make it easily testable in source, so you can insert the right 
>> assembly for the target CPU.  The same could really be said for things like 
>> `__RDSEED__`, and some other defines...
> Most of the defines indicate the availability of intrinsics. At least that 
> was their original intent. They used to control what intrinsic header were 
> included in x86intrin.h or immintrin.h. Though now we include everything 
> except in MSVC compatible mode and allow the target attribute to provide per 
> function control.
> 
> I'd prefer not to add this one if gcc doesn't have it.

Jonathan, can you comment on your reasons for adding the __LAHFSAHF__ define?  
Was this just a nice-to-have, or do you require it for something related to 
https://bugs.llvm.org/show_bug.cgi?id=36028 ?

> 
> 
> Repository:
>  rC Clang
> 
> https://reviews.llvm.org/D43394

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to