aboutsummaryrefslogtreecommitdiffstats
path: root/utils/TableGen/NeonEmitter.cpp
diff options
context:
space:
mode:
authorBob Wilson <bob.wilson@apple.com>2010-12-02 01:18:20 +0000
committerBob Wilson <bob.wilson@apple.com>2010-12-02 01:18:20 +0000
commit1dbfa91671c766cbca6ea1adaa634856e0b88305 (patch)
tree9b4ff3b02864beeb257e02f1038cf6fd0518c5b9 /utils/TableGen/NeonEmitter.cpp
parentb322fc2ece72fbf2d89f584a12298d21c3ef74ea (diff)
downloadexternal_llvm-1dbfa91671c766cbca6ea1adaa634856e0b88305.zip
external_llvm-1dbfa91671c766cbca6ea1adaa634856e0b88305.tar.gz
external_llvm-1dbfa91671c766cbca6ea1adaa634856e0b88305.tar.bz2
Add a missing cast for Neon vsbl results.
The bitwise operations are always done with unsigned values, but the result may be signed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120640 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'utils/TableGen/NeonEmitter.cpp')
-rw-r--r--utils/TableGen/NeonEmitter.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/utils/TableGen/NeonEmitter.cpp b/utils/TableGen/NeonEmitter.cpp
index 56e7e18..7badd5a 100644
--- a/utils/TableGen/NeonEmitter.cpp
+++ b/utils/TableGen/NeonEmitter.cpp
@@ -611,9 +611,10 @@ static std::string GenOpString(OpKind op, const std::string &proto,
break;
case OpSelect:
// ((0 & 1) | (~0 & 2))
+ s += "(" + ts + ")";
ts = TypeString(proto[1], typestr);
- s += "(a & (" + ts + ")b) | ";
- s += "(~a & (" + ts + ")c)";
+ s += "((a & (" + ts + ")b) | ";
+ s += "(~a & (" + ts + ")c))";
break;
case OpRev16:
s += "__builtin_shufflevector(a, a";