Use a faster implementation of maxUIntN.
authorJustin Lebar <jlebar@google.com>
Sun, 17 Jul 2016 18:19:19 +0000 (18:19 +0000)
committerJustin Lebar <jlebar@google.com>
Sun, 17 Jul 2016 18:19:19 +0000 (18:19 +0000)
commitf2d0066af751cf097a17e970e825475cb06be5bf
tree0610aa109d566b71d42175f7230f5dbb5771ad06
parentb17269da754bfe8fba0e9342a4460a893f7c1259
Use a faster implementation of maxUIntN.

Summary:
On x86-64 with clang 3.8, before:

   mov     edx, 1
   mov     cl, dil
   shl     rdx, cl
   cmp     rdi, 64
   mov     rax, -1
   cmovne  rax, rdx
   ret

after:

  mov     ecx, 64
  sub     ecx, edi
  mov     rax, -1
  shr     rax, cl
  ret

Reviewers: rnk

Subscribers: dylanmckay, mkuper, llvm-commits

Differential Revision: https://reviews.llvm.org/D22440

llvm-svn: 275718
llvm/include/llvm/Support/MathExtras.h