aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBob Wilson <bob.wilson@apple.com>2010-12-07 20:03:04 +0000
committerBob Wilson <bob.wilson@apple.com>2010-12-07 20:03:04 +0000
commit468acf9e29b8b9bcefd227d0a0e65356678b43cd (patch)
treee55366fa92a538a794c89fdce785ba3a621bd71c
parent954e0c75c42f321945aff8b9ee96da43cd90c752 (diff)
Implement vmull and vmull_n intrinsics without using clang builtins.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@121174 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--include/clang/Basic/arm_neon.td7
1 files changed, 5 insertions, 2 deletions
diff --git a/include/clang/Basic/arm_neon.td b/include/clang/Basic/arm_neon.td
index 27b703e082..3ddbdddf51 100644
--- a/include/clang/Basic/arm_neon.td
+++ b/include/clang/Basic/arm_neon.td
@@ -18,9 +18,11 @@ def OP_NONE : Op;
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 VQDMULH : SInst<"vqdmulh", "ddd", "siQsQi">;
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 VMLSL_LANE : SInst<"vmlsl_lane", "wwddi", "siUsUi">;
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">;