From 518a6e6879ca0cb6a8d063cc81e4140c674623ec Mon Sep 17 00:00:00 2001 From: Bob Wilson Date: Fri, 3 Dec 2010 00:34:21 +0000 Subject: [PATCH] Add support for "_lane" variants of VMUL, VMLA, and VMLS Neon intrinsics. llvm-svn: 120765 --- clang/include/clang/Basic/arm_neon.td | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/clang/include/clang/Basic/arm_neon.td b/clang/include/clang/Basic/arm_neon.td index e1e7bb811210..32bffb711798 100644 --- a/clang/include/clang/Basic/arm_neon.td +++ b/clang/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">; -- GitLab