[PATCH] D59682: [X86] Add BSR/BSF/BSWAP intrinsics to ia32intrin.h to match gcc.

Craig Topper via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Fri Mar 22 00:14:48 PDT 2019


craig.topper created this revision.
craig.topper added reviewers: RKSimon, spatel.
Herald added a project: clang.
Herald added a subscriber: cfe-commits.

These are all implemented by icc as well.

I made bit_scan_forward/reverse forward to the __bsfd/__bsrq since we also have
__bsfq/__bsrq.

Note, when lzcnt is enabled the bsr intrinsics generates lzcnt+xor instead of bsr.


Repository:
  rC Clang

https://reviews.llvm.org/D59682

Files:
  lib/Headers/ia32intrin.h
  lib/Headers/immintrin.h
  test/CodeGen/bitscan-builtins.c
  test/CodeGen/x86-bswap.c

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D59682.191825.patch
Type: text/x-patch
Size: 4089 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20190322/bf2d26a2/attachment.bin>


More information about the cfe-commits mailing list