summaryrefslogtreecommitdiffstats
path: root/test/Transforms/InstCombine
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2005-01-01 16:10:12 +0000
committerChris Lattner <sabre@nondot.org>2005-01-01 16:10:12 +0000
commit6dec0b09d5f01bf2fe4f26209f339310b2de4440 (patch)
tree1e36ab14572d13b503c892f520f3927396c139eb /test/Transforms/InstCombine
parente7f96c515efb92e477217ab97cf1a617901daf79 (diff)
downloadexternal_llvm-6dec0b09d5f01bf2fe4f26209f339310b2de4440.zip
external_llvm-6dec0b09d5f01bf2fe4f26209f339310b2de4440.tar.gz
external_llvm-6dec0b09d5f01bf2fe4f26209f339310b2de4440.tar.bz2
Fix a FIXME: Select instructions on longs were miscompiled.
While we're at it, improve codegen of select instructions. For this testcase: int %test(bool %C, int %A, int %B) { %D = select bool %C, int %A, int %B ret int %D } We used to generate this code: _test: cmpwi cr0, r3, 0 bne .LBB_test_2 ; .LBB_test_1: ; b .LBB_test_3 ; .LBB_test_2: ; or r5, r4, r4 .LBB_test_3: ; or r3, r5, r5 blr Now we emit: _test: cmpwi cr0, r3, 0 bne .LBB_test_2 ; .LBB_test_1: ; or r4, r5, r5 .LBB_test_2: ; or r3, r4, r4 blr -Chris git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19214 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/Transforms/InstCombine')
0 files changed, 0 insertions, 0 deletions