summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/WebAssembly/WebAssemblyInstrInteger.td
diff options
context:
space:
mode:
authorDan Gohman <dan433584@gmail.com>2016-10-05 21:24:08 +0000
committerDan Gohman <dan433584@gmail.com>2016-10-05 21:24:08 +0000
commit5a68ec7f0910444c240175e0ab745565ead416b3 (patch)
tree710508481856db2c6c615010d50804474e0c8442 /llvm/lib/Target/WebAssembly/WebAssemblyInstrInteger.td
parent2b3e6428e53c43de5112f7f0e0e4993edc546c0a (diff)
downloadbcm5719-llvm-5a68ec7f0910444c240175e0ab745565ead416b3.tar.gz
bcm5719-llvm-5a68ec7f0910444c240175e0ab745565ead416b3.zip
[WebAssembly] Add binary-encoding opcode values to instruction descriptions.
llvm-svn: 283389
Diffstat (limited to 'llvm/lib/Target/WebAssembly/WebAssemblyInstrInteger.td')
-rw-r--r--llvm/lib/Target/WebAssembly/WebAssemblyInstrInteger.td60
1 files changed, 30 insertions, 30 deletions
diff --git a/llvm/lib/Target/WebAssembly/WebAssemblyInstrInteger.td b/llvm/lib/Target/WebAssembly/WebAssemblyInstrInteger.td
index 7eaa57bb217..96ff1c331f8 100644
--- a/llvm/lib/Target/WebAssembly/WebAssemblyInstrInteger.td
+++ b/llvm/lib/Target/WebAssembly/WebAssemblyInstrInteger.td
@@ -17,51 +17,51 @@ let Defs = [ARGUMENTS] in {
// The spaces after the names are for aesthetic purposes only, to make
// operands line up vertically after tab expansion.
let isCommutable = 1 in
-defm ADD : BinaryInt<add, "add ">;
-defm SUB : BinaryInt<sub, "sub ">;
+defm ADD : BinaryInt<add, "add ", 0x40, 0x5b>;
+defm SUB : BinaryInt<sub, "sub ", 0x41, 0x5c>;
let isCommutable = 1 in
-defm MUL : BinaryInt<mul, "mul ">;
+defm MUL : BinaryInt<mul, "mul ", 0x42, 0x5d>;
// Divide and remainder trap on a zero denominator.
let hasSideEffects = 1 in {
-defm DIV_S : BinaryInt<sdiv, "div_s">;
-defm DIV_U : BinaryInt<udiv, "div_u">;
-defm REM_S : BinaryInt<srem, "rem_s">;
-defm REM_U : BinaryInt<urem, "rem_u">;
+defm DIV_S : BinaryInt<sdiv, "div_s", 0x43, 0x5e>;
+defm DIV_U : BinaryInt<udiv, "div_u", 0x44, 0x5f>;
+defm REM_S : BinaryInt<srem, "rem_s", 0x45, 0x60>;
+defm REM_U : BinaryInt<urem, "rem_u", 0x46, 0x61>;
} // hasSideEffects = 1
let isCommutable = 1 in {
-defm AND : BinaryInt<and, "and ">;
-defm OR : BinaryInt<or, "or ">;
-defm XOR : BinaryInt<xor, "xor ">;
+defm AND : BinaryInt<and, "and ", 0x47, 0x62>;
+defm OR : BinaryInt<or, "or ", 0x48, 0x63>;
+defm XOR : BinaryInt<xor, "xor ", 0x49, 0x64>;
} // isCommutable = 1
-defm SHL : BinaryInt<shl, "shl ">;
-defm SHR_U : BinaryInt<srl, "shr_u">;
-defm SHR_S : BinaryInt<sra, "shr_s">;
-defm ROTL : BinaryInt<rotl, "rotl">;
-defm ROTR : BinaryInt<rotr, "rotr">;
+defm SHL : BinaryInt<shl, "shl ", 0x4a, 0x65>;
+defm SHR_U : BinaryInt<srl, "shr_u", 0x4b, 0x66>;
+defm SHR_S : BinaryInt<sra, "shr_s", 0x4c, 0x67>;
+defm ROTL : BinaryInt<rotl, "rotl", 0xb7, 0xb9>;
+defm ROTR : BinaryInt<rotr, "rotr", 0xb6, 0xb8>;
let isCommutable = 1 in {
-defm EQ : ComparisonInt<SETEQ, "eq ">;
-defm NE : ComparisonInt<SETNE, "ne ">;
+defm EQ : ComparisonInt<SETEQ, "eq ", 0x4d, 0x68>;
+defm NE : ComparisonInt<SETNE, "ne ", 0x4e, 0x69>;
} // isCommutable = 1
-defm LT_S : ComparisonInt<SETLT, "lt_s">;
-defm LE_S : ComparisonInt<SETLE, "le_s">;
-defm LT_U : ComparisonInt<SETULT, "lt_u">;
-defm LE_U : ComparisonInt<SETULE, "le_u">;
-defm GT_S : ComparisonInt<SETGT, "gt_s">;
-defm GE_S : ComparisonInt<SETGE, "ge_s">;
-defm GT_U : ComparisonInt<SETUGT, "gt_u">;
-defm GE_U : ComparisonInt<SETUGE, "ge_u">;
+defm LT_S : ComparisonInt<SETLT, "lt_s", 0x4f, 0x6a>;
+defm LE_S : ComparisonInt<SETLE, "le_s", 0x50, 0x6b>;
+defm LT_U : ComparisonInt<SETULT, "lt_u", 0x51, 0x6c>;
+defm LE_U : ComparisonInt<SETULE, "le_u", 0x52, 0x6d>;
+defm GT_S : ComparisonInt<SETGT, "gt_s", 0x53, 0x6e>;
+defm GE_S : ComparisonInt<SETGE, "ge_s", 0x54, 0x6f>;
+defm GT_U : ComparisonInt<SETUGT, "gt_u", 0x55, 0x70>;
+defm GE_U : ComparisonInt<SETUGE, "ge_u", 0x56, 0x71>;
-defm CLZ : UnaryInt<ctlz, "clz ">;
-defm CTZ : UnaryInt<cttz, "ctz ">;
-defm POPCNT : UnaryInt<ctpop, "popcnt">;
+defm CLZ : UnaryInt<ctlz, "clz ", 0x57, 0x72>;
+defm CTZ : UnaryInt<cttz, "ctz ", 0x58, 0x73>;
+defm POPCNT : UnaryInt<ctpop, "popcnt", 0x59, 0x74>;
def EQZ_I32 : I<(outs I32:$dst), (ins I32:$src),
[(set I32:$dst, (setcc I32:$src, 0, SETEQ))],
- "i32.eqz \t$dst, $src">;
+ "i32.eqz \t$dst, $src", 0x5a>;
def EQZ_I64 : I<(outs I32:$dst), (ins I64:$src),
[(set I32:$dst, (setcc I64:$src, 0, SETEQ))],
- "i64.eqz \t$dst, $src">;
+ "i64.eqz \t$dst, $src", 0xba>;
} // Defs = [ARGUMENTS]
OpenPOWER on IntegriCloud