aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/IR/Function.cpp
diff options
context:
space:
mode:
authorKit Barton <kbarton@ca.ibm.com>2015-05-25 15:49:26 +0000
committerKit Barton <kbarton@ca.ibm.com>2015-05-25 15:49:26 +0000
commit6646033e6e759657b6122fde64844fd28a2c9635 (patch)
treeb29623a45a12224714ae003592cb553300c8a875 /llvm/lib/IR/Function.cpp
parentb028cc80989ccbdeb6940d89b1bac5a036377249 (diff)
downloadllvm-6646033e6e759657b6122fde64844fd28a2c9635.zip
llvm-6646033e6e759657b6122fde64844fd28a2c9635.tar.gz
llvm-6646033e6e759657b6122fde64844fd28a2c9635.tar.bz2
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/IR/Function.cpp')
-rw-r--r--llvm/lib/IR/Function.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/llvm/lib/IR/Function.cpp b/llvm/lib/IR/Function.cpp
index c579b6b..cf8e3ed 100644
--- a/llvm/lib/IR/Function.cpp
+++ b/llvm/lib/IR/Function.cpp
@@ -548,7 +548,8 @@ enum IIT_Info {
IIT_HALF_VEC_ARG = 29,
IIT_SAME_VEC_WIDTH_ARG = 30,
IIT_PTR_TO_ARG = 31,
- IIT_VEC_OF_PTRS_TO_ELT = 32
+ IIT_VEC_OF_PTRS_TO_ELT = 32,
+ IIT_I128 = 33
};
@@ -595,6 +596,9 @@ static void DecodeIITType(unsigned &NextElt, ArrayRef<unsigned char> Infos,
case IIT_I64:
OutputTable.push_back(IITDescriptor::get(IITDescriptor::Integer, 64));
return;
+ case IIT_I128:
+ OutputTable.push_back(IITDescriptor::get(IITDescriptor::Integer, 128));
+ return;
case IIT_V1:
OutputTable.push_back(IITDescriptor::get(IITDescriptor::Vector, 1));
DecodeIITType(NextElt, Infos, OutputTable);