diff options
author | Nico Weber <nicolasweber@gmx.de> | 2018-07-20 21:02:09 +0000 |
---|---|---|
committer | Nico Weber <nicolasweber@gmx.de> | 2018-07-20 21:02:09 +0000 |
commit | c74a596b1d364a9ecf0d274fbdfd46e998cc59f7 (patch) | |
tree | 67b9358a71a3bc80435aa57c5f01fa42da6d4860 /test/Headers | |
parent | 906cfe1bf36df2d0efbea663dcc91f9e36e2e097 (diff) |
[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
Diffstat (limited to 'test/Headers')
-rw-r--r-- | test/Headers/ms-intrin.cpp | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/test/Headers/ms-intrin.cpp b/test/Headers/ms-intrin.cpp index b0fef9cc06..d8a4d382eb 100644 --- a/test/Headers/ms-intrin.cpp +++ b/test/Headers/ms-intrin.cpp @@ -42,6 +42,8 @@ void f() { __stosw(0, 0, 0); #ifdef _M_X64 + __shiftleft128(1, 2, 3); + __shiftright128(1, 2, 3); __movsq(0, 0, 0); __stosq(0, 0, 0); #endif |