LegalizeTypes support for promotion of bswap.
authorDuncan Sands <baldrick@free.fr>
Tue, 15 Jul 2008 10:18:22 +0000 (10:18 +0000)
committerDuncan Sands <baldrick@free.fr>
Tue, 15 Jul 2008 10:18:22 +0000 (10:18 +0000)
commitc07e6e53f757da1a7c79c66ed53f2844de85a77e
treed3be28c4d75b04313200253e8c5b3df57b5b0356
parent8d56a6f4d8b010d4c582225a08ece971613f6fe3
LegalizeTypes support for promotion of bswap.
In LegalizeDAG the value is zero-extended to
the new type before byte swapping.  It doesn't
matter how the extension is done since the new
bits are shifted off anyway after the swap, so
extend by any old rubbish bits.  This results
in the final assembler for the testcase being
one line shorter.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53604 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
lib/CodeGen/SelectionDAG/LegalizeTypes.h
test/CodeGen/PowerPC/2008-07-15-Bswap.ll [new file with mode: 0644]