summaryrefslogtreecommitdiff
path: root/src/wasm-binary.h
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2016-03-19 16:31:27 -0700
committerAlon Zakai <alonzakai@gmail.com>2016-03-19 16:31:27 -0700
commitd802638ea36ce950f260c42e8bc8e2195c625efa (patch)
treef59fe633114f6480bf5af6bf3a5d8adbad426438 /src/wasm-binary.h
parentc8faff5ddbc7e93134763a845371b66bc2be56a4 (diff)
parentff792474724765983b14f8088c259ff55fcf567e (diff)
downloadbinaryen-d802638ea36ce950f260c42e8bc8e2195c625efa.tar.gz
binaryen-d802638ea36ce950f260c42e8bc8e2195c625efa.tar.bz2
binaryen-d802638ea36ce950f260c42e8bc8e2195c625efa.zip
Merge pull request #261 from WebAssembly/eqz
Update spec tests and support eqz
Diffstat (limited to 'src/wasm-binary.h')
-rw-r--r--src/wasm-binary.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/wasm-binary.h b/src/wasm-binary.h
index 2a1fb76a7..21438f616 100644
--- a/src/wasm-binary.h
+++ b/src/wasm-binary.h
@@ -263,6 +263,7 @@ enum ASTNodes {
I32Clz = 0x57,
I32Ctz = 0x58,
I32Popcnt = 0x59,
+ I32EqZ = 0xc0, // XXX
BoolNot = 0x5a,
I64Add = 0x5b,
I64Sub = 0x5c,
@@ -290,6 +291,7 @@ enum ASTNodes {
I64Clz = 0x72,
I64Ctz = 0x73,
I64Popcnt = 0x74,
+ I64EqZ = 0xc1, // XXX
F32Add = 0x75,
F32Sub = 0x76,
F32Mul = 0x77,
@@ -966,6 +968,7 @@ public:
case Clz: o << int8_t(curr->type == i32 ? BinaryConsts::I32Clz : BinaryConsts::I64Clz); break;
case Ctz: o << int8_t(curr->type == i32 ? BinaryConsts::I32Ctz : BinaryConsts::I64Ctz); break;
case Popcnt: o << int8_t(curr->type == i32 ? BinaryConsts::I32Popcnt : BinaryConsts::I64Popcnt); break;
+ case EqZ: o << int8_t(curr->type == i32 ? BinaryConsts::I32EqZ : BinaryConsts::I64EqZ); break;
case Neg: o << int8_t(curr->type == f32 ? BinaryConsts::F32Neg : BinaryConsts::F64Neg); break;
case Abs: o << int8_t(curr->type == f32 ? BinaryConsts::F32Abs : BinaryConsts::F64Abs); break;
case Ceil: o << int8_t(curr->type == f32 ? BinaryConsts::F32Ceil : BinaryConsts::F64Ceil); break;
@@ -1798,6 +1801,8 @@ public:
case BinaryConsts::I64Ctz: curr->op = Ctz; curr->type = i64; break;
case BinaryConsts::I32Popcnt: curr->op = Popcnt; curr->type = i32; break;
case BinaryConsts::I64Popcnt: curr->op = Popcnt; curr->type = i64; break;
+ case BinaryConsts::I32EqZ: curr->op = EqZ; curr->type = i32; break;
+ case BinaryConsts::I64EqZ: curr->op = EqZ; curr->type = i64; break;
case BinaryConsts::F32Neg: curr->op = Neg; curr->type = f32; break;
case BinaryConsts::F64Neg: curr->op = Neg; curr->type = f64; break;
case BinaryConsts::F32Abs: curr->op = Abs; curr->type = f32; break;