OSDN Git Service

ARM: fix CodeGen for 64-bit shifts.
authorTim Northover <tnorthover@apple.com>
Wed, 16 Nov 2016 20:54:28 +0000 (20:54 +0000)
committerTim Northover <tnorthover@apple.com>
Wed, 16 Nov 2016 20:54:28 +0000 (20:54 +0000)
commit9769d9a0aad8caeb8f6c36b0071bbb9c54e43c54
treebdbfbbb1f27b77d1d5f7e9c22f7f90bb10854504
parent4146fdbd6d8b0de62e7414dcd8dd6f3e9d0bc423
ARM: fix CodeGen for 64-bit shifts.

One half of the shifts obviously needed conditional selection based on whether
the shift amount is more than 32-bits, but leaving the other half as the
natural shift isn't acceptable either: it's undefined behaviour to shift a
32-bit value by more than 31.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@287149 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/ARM/ARMISelLowering.cpp
test/CodeGen/ARM/shift-i64.ll [new file with mode: 0644]