summaryrefslogtreecommitdiffstats
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
commit4fa993fc515d49384c85a151ff63895bb47483b1 (patch)
tree164ac0f581a5b77fcafe5925944bf022516efdb9
parentffea0b29e92c9f66e70a7c369195a0cf4f39fdeb (diff)
downloadbcm5719-llvm-4fa993fc515d49384c85a151ff63895bb47483b1.tar.gz
bcm5719-llvm-4fa993fc515d49384c85a151ff63895bb47483b1.zip
Add a separate rightShift flag instead of reusing the existing "poly" variable
to distinguish vsri/vsli. llvm-svn: 120806
-rw-r--r--clang/lib/CodeGen/CGBuiltin.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/clang/lib/CodeGen/CGBuiltin.cpp b/clang/lib/CodeGen/CGBuiltin.cpp
index e6e29929fd7..d28038c08b7 100644
--- a/clang/lib/CodeGen/CGBuiltin.cpp
+++ b/clang/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:
OpenPOWER on IntegriCloud