Benjamin Kramer 3bf15ced2b LegalizeIntegerTypes: Reenable the large shift with small amount optimization.
To avoid problems with zero shifts when getting the bits that move between words
we use a trick: first shift the by amount-1, then do another shift by one. When
amount is 0 (and size 32) we first shift by 31, then by one, instead of by 32.

Also fix a latent bug that emitted the low and high words in the wrong order
when shifting right.

Fixes PR12113.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151637 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-28 17:58:00 +00:00
..
2012-01-27 02:31:29 +00:00
2012-01-05 00:43:34 +00:00
2012-02-02 19:00:49 +00:00
2012-02-02 19:00:49 +00:00
2012-01-05 00:43:34 +00:00
2012-02-18 00:05:45 +00:00
2011-12-08 19:21:39 +00:00
2012-02-27 23:31:51 +00:00
2012-01-19 01:13:47 +00:00