diff options
author | Andy Ayers <andya@microsoft.com> | 2018-01-05 17:47:09 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-01-05 17:47:09 -0800 |
commit | 16246c9117aa456eb0786d4e23e827dce585b6c0 (patch) | |
tree | 7aeb5a771bb881fcffd0fd3df9c45db9fe72ecdd /src/vm/jithelpers.cpp | |
parent | 5f4510d4db515b49015a961d335facd3e59b8614 (diff) | |
download | coreclr-16246c9117aa456eb0786d4e23e827dce585b6c0.tar.gz coreclr-16246c9117aa456eb0786d4e23e827dce585b6c0.tar.bz2 coreclr-16246c9117aa456eb0786d4e23e827dce585b6c0.zip |
JIT: fix decompose long left shift for overshift cases (#15704)
Need to reduce the shift amount modulo 64 to match the helper and
`gtFoldExpr` behavior. Since reduced amount must be less than 64
we can remove handling for that case.
Also updating the arm LLSH helper.
Re-enable the test case disabled by #15567 and also enable for arm/arm64.
Closes #15566.
Diffstat (limited to 'src/vm/jithelpers.cpp')
-rw-r--r-- | src/vm/jithelpers.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/vm/jithelpers.cpp b/src/vm/jithelpers.cpp index dda73f2018..12f110c8e9 100644 --- a/src/vm/jithelpers.cpp +++ b/src/vm/jithelpers.cpp @@ -456,7 +456,7 @@ HCIMPLEND HCIMPL2_VV(UINT64, JIT_LLsh, UINT64 num, int shift) { FCALL_CONTRACT; - return num << shift; + return num << (shift & 0x3F); } HCIMPLEND |