diff options
author | Volkan Keles <vkeles@apple.com> | 2017-03-21 08:44:13 +0000 |
---|---|---|
committer | Volkan Keles <vkeles@apple.com> | 2017-03-21 08:44:13 +0000 |
commit | 75bdc7690e619aea7748d99e1057ffc0ab904936 (patch) | |
tree | 9bcf5830876085805e2ca6deb773d286834027f4 /llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp | |
parent | 9353e2dbfb2b310a6f7874dfd03aa51a32a9be03 (diff) | |
download | bcm5719-llvm-75bdc7690e619aea7748d99e1057ffc0ab904936.tar.gz bcm5719-llvm-75bdc7690e619aea7748d99e1057ffc0ab904936.zip |
[GlobalISel] Translate shufflevector
Reviewers: qcolombet, aditya_nandakumar, t.p.northover, javed.absar, ab, dsanders
Reviewed By: javed.absar
Subscribers: dberris, rovka, llvm-commits, kristof.beyls
Differential Revision: https://reviews.llvm.org/D30962
llvm-svn: 298347
Diffstat (limited to 'llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp')
-rw-r--r-- | llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp b/llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp index 0f97469d453..b6e6fbd03d0 100644 --- a/llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp +++ b/llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp @@ -1005,6 +1005,16 @@ bool IRTranslator::translateExtractElement(const User &U, return true; } +bool IRTranslator::translateShuffleVector(const User &U, + MachineIRBuilder &MIRBuilder) { + MIRBuilder.buildInstr(TargetOpcode::G_SHUFFLE_VECTOR) + .addDef(getOrCreateVReg(U)) + .addUse(getOrCreateVReg(*U.getOperand(0))) + .addUse(getOrCreateVReg(*U.getOperand(1))) + .addUse(getOrCreateVReg(*U.getOperand(2))); + return true; +} + bool IRTranslator::translatePHI(const User &U, MachineIRBuilder &MIRBuilder) { const PHINode &PI = cast<PHINode>(U); auto MIB = MIRBuilder.buildInstr(TargetOpcode::PHI); |