[aarch32] fix bug 18268: Incorrect condition of vsel
authorWeiming Zhao <weimingz@codeaurora.org>
Wed, 18 Dec 2013 22:25:17 +0000 (22:25 +0000)
committerWeiming Zhao <weimingz@codeaurora.org>
Wed, 18 Dec 2013 22:25:17 +0000 (22:25 +0000)
commit4fdb649f3aa05e7b25dab499af39d623e84acafe
treed7cdf09e73d8c4da5ea76ecfd3354fde7baed7b4
parent5112542840c5be96f2245a2a0fa59dea57dfe6f4
[aarch32] fix bug 18268:  Incorrect condition of vsel

Given vsel_cc, op1, op2, since vsel has no LE/LT, to generate vsel for
such selection, it needs to inverse cc and swap op1 and op2. To inverse
cc, both L/G and E bits should be flipped.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@197615 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/ARM/ARMISelLowering.cpp
test/CodeGen/ARM/vsel.ll