]> granicus.if.org Git - clang/commitdiff
Fix vld1_lane intrinsic generation
authorSteven Wu <stevenwu@apple.com>
Wed, 9 Sep 2015 01:37:18 +0000 (01:37 +0000)
committerSteven Wu <stevenwu@apple.com>
Wed, 9 Sep 2015 01:37:18 +0000 (01:37 +0000)
Fix a bug introduced in r246985 which causes assertion when generating
vld1_lane.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@247117 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/CGBuiltin.cpp

index 729c0a18b06fd7d90fa9d7b55679a16f9a118d10..0cad469f782c8e01f17fd95bbddad1eb045d5d02 100644 (file)
@@ -3770,8 +3770,7 @@ Value *CodeGenFunction::EmitARMBuiltinExpr(unsigned BuiltinID,
     // fall through
   case NEON::BI__builtin_neon_vld1_lane_v: {
     Ops[1] = Builder.CreateBitCast(Ops[1], Ty);
-    Ty = llvm::PointerType::getUnqual(VTy->getElementType());
-    Ops[0] = Builder.CreateBitCast(Ops[0], Ty);
+    PtrOp0 = Builder.CreateElementBitCast(PtrOp0, VTy->getElementType());
     Value *Ld = Builder.CreateLoad(PtrOp0);
     return Builder.CreateInsertElement(Ops[1], Ld, Ops[2], "vld1_lane");
   }