[PATCH] D43394: [X86] Add 'sahf' CPU feature, and emit __LAHFSAHF__ for it

Craig Topper via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Fri Feb 16 15:12:36 PST 2018


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.


Repository:
  rC Clang

https://reviews.llvm.org/D43394





More information about the cfe-commits mailing list