[cfe-commits] r121174 - /cfe/trunk/include/clang/Basic/arm_neon.td

Bob Wilson bob.wilson at apple.com
Tue Dec 7 12:03:04 PST 2010


Author: bwilson
Date: Tue Dec  7 14:03:04 2010
New Revision: 121174

URL: http://llvm.org/viewvc/llvm-project?rev=121174&view=rev
Log:
Implement vmull and vmull_n intrinsics without using clang builtins.

Modified:
    cfe/trunk/include/clang/Basic/arm_neon.td

Modified: cfe/trunk/include/clang/Basic/arm_neon.td
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/arm_neon.td?rev=121174&r1=121173&r2=121174&view=diff
==============================================================================
--- cfe/trunk/include/clang/Basic/arm_neon.td (original)
+++ cfe/trunk/include/clang/Basic/arm_neon.td Tue Dec  7 14:03:04 2010
@@ -18,9 +18,11 @@
 def OP_ADD   : Op;
 def OP_SUB   : Op;
 def OP_MUL   : Op;
+def OP_MULL  : Op;
 def OP_MLA   : Op;
 def OP_MLS   : Op;
 def OP_MUL_N : Op;
+def OP_MULL_N: Op;
 def OP_MLA_N : Op;
 def OP_MLS_N : Op;
 def OP_MUL_LN: Op;
@@ -122,7 +124,8 @@
 def VQRDMULH : SInst<"vqrdmulh", "ddd", "siQsQi">;
 def VQDMLAL  : SInst<"vqdmlal", "wwdd", "si">;
 def VQDMLSL  : SInst<"vqdmlsl", "wwdd", "si">;
-def VMULL    : SInst<"vmull", "wdd", "csiUcUsUiPc">;
+def VMULL    : Inst<"vmull", "wdd", "csiUcUsUi", OP_MULL>;
+def VMULLP   : SInst<"vmull", "wdd", "Pc">;
 def VQDMULL  : SInst<"vqdmull", "wdd", "si">;
 
 ////////////////////////////////////////////////////////////////////////////////
@@ -308,7 +311,7 @@
 def VQDMLSL_LANE : SInst<"vqdmlsl_lane", "wwddi", "si">;
 def VMUL_N       : Inst<"vmul_n", "dds", "sifUsUiQsQiQfQUsQUi", OP_MUL_N>;
 def VMUL_LANE    : Inst<"vmul_lane", "dddi", "sifUsUiQsQiQfQUsQUi", OP_MUL_LN>;
-def VMULL_N      : SInst<"vmull_n", "wda", "siUsUi">;
+def VMULL_N      : Inst<"vmull_n", "wda", "siUsUi", OP_MULL_N>;
 def VMULL_LANE   : SInst<"vmull_lane", "wddi", "siUsUi">;
 def VQDMULL_N    : SInst<"vqdmull_n", "wda", "si">;
 def VQDMULL_LANE : SInst<"vqdmull_lane", "wddi", "si">;





More information about the cfe-commits mailing list