summaryrefslogtreecommitdiffstats
path: root/clang/lib/Parse/Parser.cpp
diff options
context:
space:
mode:
authorBill Schmidt <wschmidt@linux.vnet.ibm.com>2014-10-22 13:13:40 +0000
committerBill Schmidt <wschmidt@linux.vnet.ibm.com>2014-10-22 13:13:40 +0000
commit61e652334fe94931138706472c4f052cc9b8207a (patch)
treedaba4718b09dcf9993d5a48b972bd7edbde1f3c5 /clang/lib/Parse/Parser.cpp
parent4934e4b598f2b4d689c448b2a5029000e8d82ab6 (diff)
downloadbcm5719-llvm-61e652334fe94931138706472c4f052cc9b8207a.tar.gz
bcm5719-llvm-61e652334fe94931138706472c4f052cc9b8207a.zip
[PowerPC] Support select-cc for VSX
The tests test/CodeGen/Generic/select-cc.ll and test/CodeGen/PowerPC/select-cc.ll both fail with VSX enabled. The problem is that the lowering logic for the SELECT and SELECT_CC operations doesn't currently support the VSX registers. This patch fixes that. In lib/Target/PowerPC/PPCInstrInfo.td, we have pseudos to handle this for other register classes. Similar pseudos are added in PPCInstrVSX.td (they must be there, because the "vsrc" register class definition appears there) for the VSRC register class. The SELECT_VSRC pseudo is then used in pattern matching for SELECT_CC. The rest of the patch just adds logic for SELECT_VSRC wherever similar logic appears for SELECT_VRRC. There are no new test cases because the existing tests above test this, along with a variant in test/CodeGen/PowerPC/vsx.ll. After discussion with Hal, a future patch will add similar _VSFRC variants to override f64 type handling (currently using F8RC). llvm-svn: 220385
Diffstat (limited to 'clang/lib/Parse/Parser.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud