summaryrefslogtreecommitdiff
path: root/utils/TableGen/NeonEmitter.h
diff options
context:
space:
mode:
authorBob Wilson <bob.wilson@apple.com>2010-12-07 23:53:37 +0000
committerBob Wilson <bob.wilson@apple.com>2010-12-07 23:53:37 +0000
commit0584316dfbf3207915568fd920c86aa4cd58e3fa (patch)
tree133291c71a673418599afb5657ec37df4c6f76a4 /utils/TableGen/NeonEmitter.h
parentda1d3dc9a5ebc2b7d1c7340b22a872f4dddc7dc6 (diff)
downloadllvm-0584316dfbf3207915568fd920c86aa4cd58e3fa.tar.gz
llvm-0584316dfbf3207915568fd920c86aa4cd58e3fa.tar.bz2
llvm-0584316dfbf3207915568fd920c86aa4cd58e3fa.tar.xz
Add operators for vmlal{_n,_lane} and vmlsl{_n,_lane}
so they can be implemented without clang builtins. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121209 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'utils/TableGen/NeonEmitter.h')
-rw-r--r--utils/TableGen/NeonEmitter.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/utils/TableGen/NeonEmitter.h b/utils/TableGen/NeonEmitter.h
index 39877e7f5d..4c5889388b 100644
--- a/utils/TableGen/NeonEmitter.h
+++ b/utils/TableGen/NeonEmitter.h
@@ -28,15 +28,21 @@ enum OpKind {
OpMul,
OpMull,
OpMla,
+ OpMlal,
OpMls,
+ OpMlsl,
OpMulN,
OpMullN,
OpMlaN,
OpMlsN,
+ OpMlalN,
+ OpMlslN,
OpMulLane,
OpMullLane,
OpMlaLane,
OpMlsLane,
+ OpMlalLane,
+ OpMlslLane,
OpEq,
OpGe,
OpLe,
@@ -85,15 +91,21 @@ namespace llvm {
OpMap["OP_MUL"] = OpMul;
OpMap["OP_MULL"] = OpMull;
OpMap["OP_MLA"] = OpMla;
+ OpMap["OP_MLAL"] = OpMlal;
OpMap["OP_MLS"] = OpMls;
+ OpMap["OP_MLSL"] = OpMlsl;
OpMap["OP_MUL_N"] = OpMulN;
OpMap["OP_MULL_N"]= OpMullN;
OpMap["OP_MLA_N"] = OpMlaN;
OpMap["OP_MLS_N"] = OpMlsN;
+ OpMap["OP_MLAL_N"] = OpMlalN;
+ OpMap["OP_MLSL_N"] = OpMlslN;
OpMap["OP_MUL_LN"]= OpMulLane;
OpMap["OP_MULL_LN"] = OpMullLane;
OpMap["OP_MLA_LN"]= OpMlaLane;
OpMap["OP_MLS_LN"]= OpMlsLane;
+ OpMap["OP_MLAL_LN"] = OpMlalLane;
+ OpMap["OP_MLSL_LN"] = OpMlslLane;
OpMap["OP_EQ"] = OpEq;
OpMap["OP_GE"] = OpGe;
OpMap["OP_LE"] = OpLe;