diff options
author | Kit Barton <kbarton@ca.ibm.com> | 2015-05-25 15:49:26 +0000 |
---|---|---|
committer | Kit Barton <kbarton@ca.ibm.com> | 2015-05-25 15:49:26 +0000 |
commit | 6646033e6e759657b6122fde64844fd28a2c9635 (patch) | |
tree | b29623a45a12224714ae003592cb553300c8a875 /llvm/lib/Target/PowerPC/PPCISelLowering.cpp | |
parent | b028cc80989ccbdeb6940d89b1bac5a036377249 (diff) | |
download | bcm5719-llvm-6646033e6e759657b6122fde64844fd28a2c9635.tar.gz bcm5719-llvm-6646033e6e759657b6122fde64844fd28a2c9635.zip |
This patch adds support for the vector quadword add/sub instructions introduced
in POWER8:
vadduqm
vaddeuqm
vaddcuq
vaddecuq
vsubuqm
vsubeuqm
vsubcuq
vsubecuq
In addition to adding the instructions themselves, it also adds support for the
v1i128 type for intrinsics (Intrinsics.td, Function.cpp, and
IntrinsicEmitter.cpp).
http://reviews.llvm.org/D9081
llvm-svn: 238144
Diffstat (limited to 'llvm/lib/Target/PowerPC/PPCISelLowering.cpp')
-rw-r--r-- | llvm/lib/Target/PowerPC/PPCISelLowering.cpp | 11 |
1 files changed, 2 insertions, 9 deletions
diff --git a/llvm/lib/Target/PowerPC/PPCISelLowering.cpp b/llvm/lib/Target/PowerPC/PPCISelLowering.cpp index f8ebae1d4dc..bb9315e9520 100644 --- a/llvm/lib/Target/PowerPC/PPCISelLowering.cpp +++ b/llvm/lib/Target/PowerPC/PPCISelLowering.cpp @@ -403,15 +403,8 @@ PPCTargetLowering::PPCTargetLowering(const PPCTargetMachine &TM, // will selectively turn on ones that can be effectively codegen'd. for (MVT VT : MVT::vector_valuetypes()) { // add/sub are legal for all supported vector VT's. - // This check is temporary until support for quadword add/sub is added - if (VT.SimpleTy != MVT::v1i128) { - setOperationAction(ISD::ADD , VT, Legal); - setOperationAction(ISD::SUB , VT, Legal); - } - else { - setOperationAction(ISD::ADD , VT, Expand); - setOperationAction(ISD::SUB , VT, Expand); - } + setOperationAction(ISD::ADD , VT, Legal); + setOperationAction(ISD::SUB , VT, Legal); // Vector instructions introduced in P8 if (Subtarget.hasP8Altivec() && (VT.SimpleTy != MVT::v1i128)) { |