summaryrefslogtreecommitdiffstats
path: root/clang/lib
diff options
context:
space:
mode:
authorNate Begeman <natebegeman@mac.com>2010-06-09 05:30:26 +0000
committerNate Begeman <natebegeman@mac.com>2010-06-09 05:30:26 +0000
commit4307a25545286b5d278e0080ccd5148d5f46f8f4 (patch)
treedb2287987b3c774f9dcc30cb3ec5bb2828ec4332 /clang/lib
parentb4e3533ce1a4a77d33ca6dba6eaa0dba1fa2ee48 (diff)
downloadbcm5719-llvm-4307a25545286b5d278e0080ccd5148d5f46f8f4.tar.gz
bcm5719-llvm-4307a25545286b5d278e0080ccd5148d5f46f8f4.zip
More accurate BuiltinsARM.def
vget_lane support llvm-svn: 105684
Diffstat (limited to 'clang/lib')
-rw-r--r--clang/lib/CodeGen/CGBuiltin.cpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/clang/lib/CodeGen/CGBuiltin.cpp b/clang/lib/CodeGen/CGBuiltin.cpp
index 1c903094b4d..3ef3e17198a 100644
--- a/clang/lib/CodeGen/CGBuiltin.cpp
+++ b/clang/lib/CodeGen/CGBuiltin.cpp
@@ -1058,6 +1058,17 @@ Value *CodeGenFunction::EmitARMBuiltinExpr(unsigned BuiltinID,
Value* SV = llvm::ConstantVector::get(Indices.begin(), Indices.size());
return Builder.CreateShuffleVector(Ops[0], Ops[1], SV, "vext");
}
+ case ARM::BI__builtin_neon_vget_lane_i8:
+ case ARM::BI__builtin_neon_vget_lane_i16:
+ case ARM::BI__builtin_neon_vget_lane_i32:
+ case ARM::BI__builtin_neon_vget_lane_i64:
+ case ARM::BI__builtin_neon_vget_lane_f32:
+ case ARM::BI__builtin_neon_vgetq_lane_i8:
+ case ARM::BI__builtin_neon_vgetq_lane_i16:
+ case ARM::BI__builtin_neon_vgetq_lane_i32:
+ case ARM::BI__builtin_neon_vgetq_lane_i64:
+ case ARM::BI__builtin_neon_vgetq_lane_f32:
+ return Builder.CreateExtractElement(Ops[0], EmitScalarExpr(E->getArg(1)));
case ARM::BI__builtin_neon_vtbl1_v:
return EmitNeonCall(CGM.getIntrinsic(Intrinsic::arm_neon_vtbl1),
Ops, "vtbl1");
OpenPOWER on IntegriCloud