craig.topper added inline comments.

================
Comment at: clang/include/clang/Basic/BuiltinsX86.def:1904
+// BITSCAN
+TARGET_BUILTIN(_BitScanForward, "UcUNi*UNi", "n", "")
+TARGET_BUILTIN(_BitScanReverse, "UcUNi*UNi", "n", "")
----------------
skan wrote:
> craig.topper wrote:
> > The N specifier here is sort of MSVC mode specific. I need to think about 
> > this.
> > 
> > This also makes this available without including a header file which isn't 
> > good if it doesn't start with __builtin.
> I think we can define a new builtin `__builtin_ia32_BitScanForward` in 
> BuiltinsX86.def. And when macro `_MSC_VER` is not defined, define 
> `_BitScanForward` in ia32intrin.h by calling the 
> `__builtin_ia32_BitScanForward`. Then we can avoid the N specifier and the 
> name issue. Do you think it's appropriate?
Instead of new builtins, can we use  __builtin_clz, __builtin_clzl, 
__builin_ctz, __builtin_ctzl?


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D75723/new/

https://reviews.llvm.org/D75723



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

Reply via email to