[llvm-commits] [llvm] r121190 - in /llvm/trunk/utils/TableGen: NeonEmitter.cpp NeonEmitter.h
Bob Wilson
bob.wilson at apple.com
Tue Dec 7 14:39:24 PST 2010
Author: bwilson
Date: Tue Dec 7 16:39:24 2010
New Revision: 121190
URL: http://llvm.org/viewvc/llvm-project?rev=121190&view=rev
Log:
Add an operator for vdup_lane so it can be implemented without a clang builtin.
Modified:
llvm/trunk/utils/TableGen/NeonEmitter.cpp
llvm/trunk/utils/TableGen/NeonEmitter.h
Modified: llvm/trunk/utils/TableGen/NeonEmitter.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/TableGen/NeonEmitter.cpp?rev=121190&r1=121189&r2=121190&view=diff
==============================================================================
--- llvm/trunk/utils/TableGen/NeonEmitter.cpp (original)
+++ llvm/trunk/utils/TableGen/NeonEmitter.cpp Tue Dec 7 16:39:24 2010
@@ -680,6 +680,9 @@
case OpDup:
s += Duplicate(nElts, typestr, "__a") + ";";
break;
+ case OpDupLane:
+ s += SplatLane(nElts, "__a", "__b") + ";";
+ break;
case OpSelect:
// ((0 & 1) | (~0 & 2))
s += "(" + ts + ")";
Modified: llvm/trunk/utils/TableGen/NeonEmitter.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/TableGen/NeonEmitter.h?rev=121190&r1=121189&r2=121190&view=diff
==============================================================================
--- llvm/trunk/utils/TableGen/NeonEmitter.h (original)
+++ llvm/trunk/utils/TableGen/NeonEmitter.h Tue Dec 7 16:39:24 2010
@@ -52,6 +52,7 @@
OpCast,
OpConcat,
OpDup,
+ OpDupLane,
OpHi,
OpLo,
OpSelect,
@@ -110,6 +111,7 @@
OpMap["OP_HI"] = OpHi;
OpMap["OP_LO"] = OpLo;
OpMap["OP_DUP"] = OpDup;
+ OpMap["OP_DUP_LN"] = OpDupLane;
OpMap["OP_SEL"] = OpSelect;
OpMap["OP_REV16"] = OpRev16;
OpMap["OP_REV32"] = OpRev32;
More information about the llvm-commits
mailing list