]> granicus.if.org Git - clang/commit
[ms] Add __shiftleft128 / __shiftright128 intrinsics
authorNico Weber <nicolasweber@gmx.de>
Fri, 20 Jul 2018 21:02:09 +0000 (21:02 +0000)
committerNico Weber <nicolasweber@gmx.de>
Fri, 20 Jul 2018 21:02:09 +0000 (21:02 +0000)
commitc74a596b1d364a9ecf0d274fbdfd46e998cc59f7
tree67b9358a71a3bc80435aa57c5f01fa42da6d4860
parent906cfe1bf36df2d0efbea663dcc91f9e36e2e097
[ms] Add __shiftleft128 / __shiftright128 intrinsics

Carefully match the pattern matched by ISel so that this produces shld / shrd
(unless Subtarget->isSHLDSlow() is true).

Thanks to Craig Topper for providing the LLVM IR pattern that gets successfully
matched.

Fixes PR37755.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@337619 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Headers/intrin.h
test/Headers/ms-intrin.cpp