aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBob Wilson <bob.wilson@apple.com>2010-12-03 17:10:22 +0000
committerBob Wilson <bob.wilson@apple.com>2010-12-03 17:10:22 +0000
commit7965396d8d6ac23ec4c4f9d01d216f2e73d7fc72 (patch)
treedd6ea974c07e7ef78c820238a020bfd523a2ae1b
parent8f50014fb33dd208513595b794511ab77f885671 (diff)
Add a separate rightShift flag instead of reusing the existing "poly" variable
to distinguish vsri/vsli. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@120806 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--lib/CodeGen/CGBuiltin.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/lib/CodeGen/CGBuiltin.cpp b/lib/CodeGen/CGBuiltin.cpp
index e6e29929fd..d28038c08b 100644
--- a/lib/CodeGen/CGBuiltin.cpp
+++ b/lib/CodeGen/CGBuiltin.cpp
@@ -1172,6 +1172,7 @@ Value *CodeGenFunction::EmitARMBuiltinExpr(unsigned BuiltinID,
bool quad = type & 0x10;
bool poly = (type & 0x7) == 5 || (type & 0x7) == 6;
bool splat = false;
+ bool rightShift = false;
const llvm::VectorType *VTy = GetNeonType(VMContext, type & 0x7, quad);
const llvm::Type *Ty = VTy;
@@ -1737,10 +1738,10 @@ Value *CodeGenFunction::EmitARMBuiltinExpr(unsigned BuiltinID,
return Builder.CreateAShr(Ops[0], Ops[1], "vshr_n");
case ARM::BI__builtin_neon_vsri_n_v:
case ARM::BI__builtin_neon_vsriq_n_v:
- poly = true;
+ rightShift = true;
case ARM::BI__builtin_neon_vsli_n_v:
case ARM::BI__builtin_neon_vsliq_n_v:
- Ops[2] = EmitNeonShiftVector(Ops[2], Ty, poly);
+ Ops[2] = EmitNeonShiftVector(Ops[2], Ty, rightShift);
return EmitNeonCall(CGM.getIntrinsic(Intrinsic::arm_neon_vshiftins, &Ty, 1),
Ops, "vsli_n");
case ARM::BI__builtin_neon_vsra_n_v: