aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBob Wilson <bob.wilson@apple.com>2010-12-03 00:34:21 +0000
committerBob Wilson <bob.wilson@apple.com>2010-12-03 00:34:21 +0000
commit96c105c8c3f4a9f39fdd4f967226f14c8e3face8 (patch)
tree6c1a8d4c62b30b848a30842f2cdb8d9c4832f6de
parent23ef69d197ba3b5e9602f7161fee50990059502a (diff)
Add support for "_lane" variants of VMUL, VMLA, and VMLS Neon intrinsics.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@120765 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--include/clang/Basic/arm_neon.td8
1 files changed, 6 insertions, 2 deletions
diff --git a/include/clang/Basic/arm_neon.td b/include/clang/Basic/arm_neon.td
index e1e7bb8112..32bffb7117 100644
--- a/include/clang/Basic/arm_neon.td
+++ b/include/clang/Basic/arm_neon.td
@@ -23,6 +23,9 @@ def OP_MLS : Op;
def OP_MUL_N : Op;
def OP_MLA_N : Op;
def OP_MLS_N : Op;
+def OP_MUL_LN: Op;
+def OP_MLA_LN: Op;
+def OP_MLS_LN: Op;
def OP_EQ : Op;
def OP_GE : Op;
def OP_LE : Op;
@@ -282,13 +285,14 @@ def VTBX4 : WInst<"dd4t", "UccPc">;
////////////////////////////////////////////////////////////////////////////////
// E.3.25 Operations with a scalar value
-def VMLA_LANE : IInst<"ddddi", "siUsUifQsQiQUsQUiQf">;
+def VMLA_LANE : Inst<"ddddi", "siUsUifQsQiQUsQUiQf", OP_MLA_LN>;
def VMLAL_LANE : SInst<"wwddi", "siUsUi">;
def VQDMLAL_LANE : SInst<"wwddi", "si">;
-def VMLS_LANE : IInst<"ddddi", "siUsUifQsQiQUsQUiQf">;
+def VMLS_LANE : Inst<"ddddi", "siUsUifQsQiQUsQUiQf", OP_MLS_LN>;
def VMLSL_LANE : SInst<"wwddi", "siUsUi">;
def VQDMLSL_LANE : SInst<"wwddi", "si">;
def VMUL_N : Inst<"dds", "sifUsUiQsQiQfQUsQUi", OP_MUL_N>;
+def VMUL_LANE : Inst<"dddi", "sifUsUiQsQiQfQUsQUi", OP_MUL_LN>;
def VMULL_N : SInst<"wda", "siUsUi">;
def VMULL_LANE : SInst<"wddi", "siUsUi">;
def VQDMULL_N : SInst<"wda", "si">;