[llvm-commits] [llvm] r121187 - in /llvm/trunk/utils/TableGen: NeonEmitter.cpp NeonEmitter.h
Bob Wilson
bob.wilson at apple.com
Tue Dec 7 14:02:48 PST 2010
Author: bwilson
Date: Tue Dec 7 16:02:48 2010
New Revision: 121187
URL: http://llvm.org/viewvc/llvm-project?rev=121187&view=rev
Log:
Add an operator for vmull_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=121187&r1=121186&r2=121187&view=diff
==============================================================================
--- llvm/trunk/utils/TableGen/NeonEmitter.cpp (original)
+++ llvm/trunk/utils/TableGen/NeonEmitter.cpp Tue Dec 7 16:02:48 2010
@@ -601,6 +601,11 @@
Extend(proto, typestr,
Duplicate(nElts << (int)quad, typestr, "__b")) + ";";
break;
+ case OpMullLane:
+ s += Extend(proto, typestr, "__a") + " * " +
+ Extend(proto, typestr,
+ SplatLane(nElts, "__b", "__c")) + ";";
+ break;
case OpMull:
s += Extend(proto, typestr, "__a") + " * " +
Extend(proto, typestr, "__b") + ";";
Modified: llvm/trunk/utils/TableGen/NeonEmitter.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/TableGen/NeonEmitter.h?rev=121187&r1=121186&r2=121187&view=diff
==============================================================================
--- llvm/trunk/utils/TableGen/NeonEmitter.h (original)
+++ llvm/trunk/utils/TableGen/NeonEmitter.h Tue Dec 7 16:02:48 2010
@@ -34,6 +34,7 @@
OpMlaN,
OpMlsN,
OpMulLane,
+ OpMullLane,
OpMlaLane,
OpMlsLane,
OpEq,
@@ -89,6 +90,7 @@
OpMap["OP_MLA_N"] = OpMlaN;
OpMap["OP_MLS_N"] = OpMlsN;
OpMap["OP_MUL_LN"]= OpMulLane;
+ OpMap["OP_MULL_LN"] = OpMullLane;
OpMap["OP_MLA_LN"]= OpMlaLane;
OpMap["OP_MLS_LN"]= OpMlsLane;
OpMap["OP_EQ"] = OpEq;
More information about the llvm-commits
mailing list