summaryrefslogtreecommitdiff
path: root/scripts/gen-s-parser.py
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/gen-s-parser.py')
-rwxr-xr-xscripts/gen-s-parser.py208
1 files changed, 104 insertions, 104 deletions
diff --git a/scripts/gen-s-parser.py b/scripts/gen-s-parser.py
index 4a900ac0e..3d493f1de 100755
--- a/scripts/gen-s-parser.py
+++ b/scripts/gen-s-parser.py
@@ -44,44 +44,44 @@ instructions = [
("memory.copy", "makeMemoryCopy(s)"),
("memory.fill", "makeMemoryFill(s)"),
("push", "makePush(s)"),
- ("i32.pop", "makePop(i32)"),
- ("i64.pop", "makePop(i64)"),
- ("f32.pop", "makePop(f32)"),
- ("f64.pop", "makePop(f64)"),
- ("v128.pop", "makePop(v128)"),
- ("funcref.pop", "makePop(funcref)"),
- ("anyref.pop", "makePop(anyref)"),
- ("nullref.pop", "makePop(nullref)"),
- ("exnref.pop", "makePop(exnref)"),
- ("i32.load", "makeLoad(s, i32, /*isAtomic=*/false)"),
- ("i64.load", "makeLoad(s, i64, /*isAtomic=*/false)"),
- ("f32.load", "makeLoad(s, f32, /*isAtomic=*/false)"),
- ("f64.load", "makeLoad(s, f64, /*isAtomic=*/false)"),
- ("i32.load8_s", "makeLoad(s, i32, /*isAtomic=*/false)"),
- ("i32.load8_u", "makeLoad(s, i32, /*isAtomic=*/false)"),
- ("i32.load16_s", "makeLoad(s, i32, /*isAtomic=*/false)"),
- ("i32.load16_u", "makeLoad(s, i32, /*isAtomic=*/false)"),
- ("i64.load8_s", "makeLoad(s, i64, /*isAtomic=*/false)"),
- ("i64.load8_u", "makeLoad(s, i64, /*isAtomic=*/false)"),
- ("i64.load16_s", "makeLoad(s, i64, /*isAtomic=*/false)"),
- ("i64.load16_u", "makeLoad(s, i64, /*isAtomic=*/false)"),
- ("i64.load32_s", "makeLoad(s, i64, /*isAtomic=*/false)"),
- ("i64.load32_u", "makeLoad(s, i64, /*isAtomic=*/false)"),
- ("i32.store", "makeStore(s, i32, /*isAtomic=*/false)"),
- ("i64.store", "makeStore(s, i64, /*isAtomic=*/false)"),
- ("f32.store", "makeStore(s, f32, /*isAtomic=*/false)"),
- ("f64.store", "makeStore(s, f64, /*isAtomic=*/false)"),
- ("i32.store8", "makeStore(s, i32, /*isAtomic=*/false)"),
- ("i32.store16", "makeStore(s, i32, /*isAtomic=*/false)"),
- ("i64.store8", "makeStore(s, i64, /*isAtomic=*/false)"),
- ("i64.store16", "makeStore(s, i64, /*isAtomic=*/false)"),
- ("i64.store32", "makeStore(s, i64, /*isAtomic=*/false)"),
+ ("i32.pop", "makePop(Type::i32)"),
+ ("i64.pop", "makePop(Type::i64)"),
+ ("f32.pop", "makePop(Type::f32)"),
+ ("f64.pop", "makePop(Type::f64)"),
+ ("v128.pop", "makePop(Type::v128)"),
+ ("funcref.pop", "makePop(Type::funcref)"),
+ ("anyref.pop", "makePop(Type::anyref)"),
+ ("nullref.pop", "makePop(Type::nullref)"),
+ ("exnref.pop", "makePop(Type::exnref)"),
+ ("i32.load", "makeLoad(s, Type::i32, /*isAtomic=*/false)"),
+ ("i64.load", "makeLoad(s, Type::i64, /*isAtomic=*/false)"),
+ ("f32.load", "makeLoad(s, Type::f32, /*isAtomic=*/false)"),
+ ("f64.load", "makeLoad(s, Type::f64, /*isAtomic=*/false)"),
+ ("i32.load8_s", "makeLoad(s, Type::i32, /*isAtomic=*/false)"),
+ ("i32.load8_u", "makeLoad(s, Type::i32, /*isAtomic=*/false)"),
+ ("i32.load16_s", "makeLoad(s, Type::i32, /*isAtomic=*/false)"),
+ ("i32.load16_u", "makeLoad(s, Type::i32, /*isAtomic=*/false)"),
+ ("i64.load8_s", "makeLoad(s, Type::i64, /*isAtomic=*/false)"),
+ ("i64.load8_u", "makeLoad(s, Type::i64, /*isAtomic=*/false)"),
+ ("i64.load16_s", "makeLoad(s, Type::i64, /*isAtomic=*/false)"),
+ ("i64.load16_u", "makeLoad(s, Type::i64, /*isAtomic=*/false)"),
+ ("i64.load32_s", "makeLoad(s, Type::i64, /*isAtomic=*/false)"),
+ ("i64.load32_u", "makeLoad(s, Type::i64, /*isAtomic=*/false)"),
+ ("i32.store", "makeStore(s, Type::i32, /*isAtomic=*/false)"),
+ ("i64.store", "makeStore(s, Type::i64, /*isAtomic=*/false)"),
+ ("f32.store", "makeStore(s, Type::f32, /*isAtomic=*/false)"),
+ ("f64.store", "makeStore(s, Type::f64, /*isAtomic=*/false)"),
+ ("i32.store8", "makeStore(s, Type::i32, /*isAtomic=*/false)"),
+ ("i32.store16", "makeStore(s, Type::i32, /*isAtomic=*/false)"),
+ ("i64.store8", "makeStore(s, Type::i64, /*isAtomic=*/false)"),
+ ("i64.store16", "makeStore(s, Type::i64, /*isAtomic=*/false)"),
+ ("i64.store32", "makeStore(s, Type::i64, /*isAtomic=*/false)"),
("memory.size", "makeHost(s, HostOp::MemorySize)"),
("memory.grow", "makeHost(s, HostOp::MemoryGrow)"),
- ("i32.const", "makeConst(s, i32)"),
- ("i64.const", "makeConst(s, i64)"),
- ("f32.const", "makeConst(s, f32)"),
- ("f64.const", "makeConst(s, f64)"),
+ ("i32.const", "makeConst(s, Type::i32)"),
+ ("i64.const", "makeConst(s, Type::i64)"),
+ ("f32.const", "makeConst(s, Type::f32)"),
+ ("f64.const", "makeConst(s, Type::f64)"),
("i32.eqz", "makeUnary(s, UnaryOp::EqZInt32)"),
("i32.eq", "makeBinary(s, BinaryOp::EqInt32)"),
("i32.ne", "makeBinary(s, BinaryOp::NeInt32)"),
@@ -212,72 +212,72 @@ instructions = [
("i64.extend32_s", "makeUnary(s, UnaryOp::ExtendS32Int64)"),
# atomic instructions
("atomic.notify", "makeAtomicNotify(s)"),
- ("i32.atomic.wait", "makeAtomicWait(s, i32)"),
- ("i64.atomic.wait", "makeAtomicWait(s, i64)"),
+ ("i32.atomic.wait", "makeAtomicWait(s, Type::i32)"),
+ ("i64.atomic.wait", "makeAtomicWait(s, Type::i64)"),
("atomic.fence", "makeAtomicFence(s)"),
- ("i32.atomic.load8_u", "makeLoad(s, i32, /*isAtomic=*/true)"),
- ("i32.atomic.load16_u", "makeLoad(s, i32, /*isAtomic=*/true)"),
- ("i32.atomic.load", "makeLoad(s, i32, /*isAtomic=*/true)"),
- ("i64.atomic.load8_u", "makeLoad(s, i64, /*isAtomic=*/true)"),
- ("i64.atomic.load16_u", "makeLoad(s, i64, /*isAtomic=*/true)"),
- ("i64.atomic.load32_u", "makeLoad(s, i64, /*isAtomic=*/true)"),
- ("i64.atomic.load", "makeLoad(s, i64, /*isAtomic=*/true)"),
- ("i32.atomic.store8", "makeStore(s, i32, /*isAtomic=*/true)"),
- ("i32.atomic.store16", "makeStore(s, i32, /*isAtomic=*/true)"),
- ("i32.atomic.store", "makeStore(s, i32, /*isAtomic=*/true)"),
- ("i64.atomic.store8", "makeStore(s, i64, /*isAtomic=*/true)"),
- ("i64.atomic.store16", "makeStore(s, i64, /*isAtomic=*/true)"),
- ("i64.atomic.store32", "makeStore(s, i64, /*isAtomic=*/true)"),
- ("i64.atomic.store", "makeStore(s, i64, /*isAtomic=*/true)"),
- ("i32.atomic.rmw8.add_u", "makeAtomicRMWOrCmpxchg(s, i32)"),
- ("i32.atomic.rmw16.add_u", "makeAtomicRMWOrCmpxchg(s, i32)"),
- ("i32.atomic.rmw.add", "makeAtomicRMWOrCmpxchg(s, i32)"),
- ("i64.atomic.rmw8.add_u", "makeAtomicRMWOrCmpxchg(s, i64)"),
- ("i64.atomic.rmw16.add_u", "makeAtomicRMWOrCmpxchg(s, i64)"),
- ("i64.atomic.rmw32.add_u", "makeAtomicRMWOrCmpxchg(s, i64)"),
- ("i64.atomic.rmw.add", "makeAtomicRMWOrCmpxchg(s, i64)"),
- ("i32.atomic.rmw8.sub_u", "makeAtomicRMWOrCmpxchg(s, i32)"),
- ("i32.atomic.rmw16.sub_u", "makeAtomicRMWOrCmpxchg(s, i32)"),
- ("i32.atomic.rmw.sub", "makeAtomicRMWOrCmpxchg(s, i32)"),
- ("i64.atomic.rmw8.sub_u", "makeAtomicRMWOrCmpxchg(s, i64)"),
- ("i64.atomic.rmw16.sub_u", "makeAtomicRMWOrCmpxchg(s, i64)"),
- ("i64.atomic.rmw32.sub_u", "makeAtomicRMWOrCmpxchg(s, i64)"),
- ("i64.atomic.rmw.sub", "makeAtomicRMWOrCmpxchg(s, i64)"),
- ("i32.atomic.rmw8.and_u", "makeAtomicRMWOrCmpxchg(s, i32)"),
- ("i32.atomic.rmw16.and_u", "makeAtomicRMWOrCmpxchg(s, i32)"),
- ("i32.atomic.rmw.and", "makeAtomicRMWOrCmpxchg(s, i32)"),
- ("i64.atomic.rmw8.and_u", "makeAtomicRMWOrCmpxchg(s, i64)"),
- ("i64.atomic.rmw16.and_u", "makeAtomicRMWOrCmpxchg(s, i64)"),
- ("i64.atomic.rmw32.and_u", "makeAtomicRMWOrCmpxchg(s, i64)"),
- ("i64.atomic.rmw.and", "makeAtomicRMWOrCmpxchg(s, i64)"),
- ("i32.atomic.rmw8.or_u", "makeAtomicRMWOrCmpxchg(s, i32)"),
- ("i32.atomic.rmw16.or_u", "makeAtomicRMWOrCmpxchg(s, i32)"),
- ("i32.atomic.rmw.or", "makeAtomicRMWOrCmpxchg(s, i32)"),
- ("i64.atomic.rmw8.or_u", "makeAtomicRMWOrCmpxchg(s, i64)"),
- ("i64.atomic.rmw16.or_u", "makeAtomicRMWOrCmpxchg(s, i64)"),
- ("i64.atomic.rmw32.or_u", "makeAtomicRMWOrCmpxchg(s, i64)"),
- ("i64.atomic.rmw.or", "makeAtomicRMWOrCmpxchg(s, i64)"),
- ("i32.atomic.rmw8.xor_u", "makeAtomicRMWOrCmpxchg(s, i32)"),
- ("i32.atomic.rmw16.xor_u", "makeAtomicRMWOrCmpxchg(s, i32)"),
- ("i32.atomic.rmw.xor", "makeAtomicRMWOrCmpxchg(s, i32)"),
- ("i64.atomic.rmw8.xor_u", "makeAtomicRMWOrCmpxchg(s, i64)"),
- ("i64.atomic.rmw16.xor_u", "makeAtomicRMWOrCmpxchg(s, i64)"),
- ("i64.atomic.rmw32.xor_u", "makeAtomicRMWOrCmpxchg(s, i64)"),
- ("i64.atomic.rmw.xor", "makeAtomicRMWOrCmpxchg(s, i64)"),
- ("i32.atomic.rmw8.xchg_u", "makeAtomicRMWOrCmpxchg(s, i32)"),
- ("i32.atomic.rmw16.xchg_u", "makeAtomicRMWOrCmpxchg(s, i32)"),
- ("i32.atomic.rmw.xchg", "makeAtomicRMWOrCmpxchg(s, i32)"),
- ("i64.atomic.rmw8.xchg_u", "makeAtomicRMWOrCmpxchg(s, i64)"),
- ("i64.atomic.rmw16.xchg_u", "makeAtomicRMWOrCmpxchg(s, i64)"),
- ("i64.atomic.rmw32.xchg_u", "makeAtomicRMWOrCmpxchg(s, i64)"),
- ("i64.atomic.rmw.xchg", "makeAtomicRMWOrCmpxchg(s, i64)"),
- ("i32.atomic.rmw8.cmpxchg_u", "makeAtomicRMWOrCmpxchg(s, i32)"),
- ("i32.atomic.rmw16.cmpxchg_u", "makeAtomicRMWOrCmpxchg(s, i32)"),
- ("i32.atomic.rmw.cmpxchg", "makeAtomicRMWOrCmpxchg(s, i32)"),
- ("i64.atomic.rmw8.cmpxchg_u", "makeAtomicRMWOrCmpxchg(s, i64)"),
- ("i64.atomic.rmw16.cmpxchg_u", "makeAtomicRMWOrCmpxchg(s, i64)"),
- ("i64.atomic.rmw32.cmpxchg_u", "makeAtomicRMWOrCmpxchg(s, i64)"),
- ("i64.atomic.rmw.cmpxchg", "makeAtomicRMWOrCmpxchg(s, i64)"),
+ ("i32.atomic.load8_u", "makeLoad(s, Type::i32, /*isAtomic=*/true)"),
+ ("i32.atomic.load16_u", "makeLoad(s, Type::i32, /*isAtomic=*/true)"),
+ ("i32.atomic.load", "makeLoad(s, Type::i32, /*isAtomic=*/true)"),
+ ("i64.atomic.load8_u", "makeLoad(s, Type::i64, /*isAtomic=*/true)"),
+ ("i64.atomic.load16_u", "makeLoad(s, Type::i64, /*isAtomic=*/true)"),
+ ("i64.atomic.load32_u", "makeLoad(s, Type::i64, /*isAtomic=*/true)"),
+ ("i64.atomic.load", "makeLoad(s, Type::i64, /*isAtomic=*/true)"),
+ ("i32.atomic.store8", "makeStore(s, Type::i32, /*isAtomic=*/true)"),
+ ("i32.atomic.store16", "makeStore(s, Type::i32, /*isAtomic=*/true)"),
+ ("i32.atomic.store", "makeStore(s, Type::i32, /*isAtomic=*/true)"),
+ ("i64.atomic.store8", "makeStore(s, Type::i64, /*isAtomic=*/true)"),
+ ("i64.atomic.store16", "makeStore(s, Type::i64, /*isAtomic=*/true)"),
+ ("i64.atomic.store32", "makeStore(s, Type::i64, /*isAtomic=*/true)"),
+ ("i64.atomic.store", "makeStore(s, Type::i64, /*isAtomic=*/true)"),
+ ("i32.atomic.rmw8.add_u", "makeAtomicRMWOrCmpxchg(s, Type::i32)"),
+ ("i32.atomic.rmw16.add_u", "makeAtomicRMWOrCmpxchg(s, Type::i32)"),
+ ("i32.atomic.rmw.add", "makeAtomicRMWOrCmpxchg(s, Type::i32)"),
+ ("i64.atomic.rmw8.add_u", "makeAtomicRMWOrCmpxchg(s, Type::i64)"),
+ ("i64.atomic.rmw16.add_u", "makeAtomicRMWOrCmpxchg(s, Type::i64)"),
+ ("i64.atomic.rmw32.add_u", "makeAtomicRMWOrCmpxchg(s, Type::i64)"),
+ ("i64.atomic.rmw.add", "makeAtomicRMWOrCmpxchg(s, Type::i64)"),
+ ("i32.atomic.rmw8.sub_u", "makeAtomicRMWOrCmpxchg(s, Type::i32)"),
+ ("i32.atomic.rmw16.sub_u", "makeAtomicRMWOrCmpxchg(s, Type::i32)"),
+ ("i32.atomic.rmw.sub", "makeAtomicRMWOrCmpxchg(s, Type::i32)"),
+ ("i64.atomic.rmw8.sub_u", "makeAtomicRMWOrCmpxchg(s, Type::i64)"),
+ ("i64.atomic.rmw16.sub_u", "makeAtomicRMWOrCmpxchg(s, Type::i64)"),
+ ("i64.atomic.rmw32.sub_u", "makeAtomicRMWOrCmpxchg(s, Type::i64)"),
+ ("i64.atomic.rmw.sub", "makeAtomicRMWOrCmpxchg(s, Type::i64)"),
+ ("i32.atomic.rmw8.and_u", "makeAtomicRMWOrCmpxchg(s, Type::i32)"),
+ ("i32.atomic.rmw16.and_u", "makeAtomicRMWOrCmpxchg(s, Type::i32)"),
+ ("i32.atomic.rmw.and", "makeAtomicRMWOrCmpxchg(s, Type::i32)"),
+ ("i64.atomic.rmw8.and_u", "makeAtomicRMWOrCmpxchg(s, Type::i64)"),
+ ("i64.atomic.rmw16.and_u", "makeAtomicRMWOrCmpxchg(s, Type::i64)"),
+ ("i64.atomic.rmw32.and_u", "makeAtomicRMWOrCmpxchg(s, Type::i64)"),
+ ("i64.atomic.rmw.and", "makeAtomicRMWOrCmpxchg(s, Type::i64)"),
+ ("i32.atomic.rmw8.or_u", "makeAtomicRMWOrCmpxchg(s, Type::i32)"),
+ ("i32.atomic.rmw16.or_u", "makeAtomicRMWOrCmpxchg(s, Type::i32)"),
+ ("i32.atomic.rmw.or", "makeAtomicRMWOrCmpxchg(s, Type::i32)"),
+ ("i64.atomic.rmw8.or_u", "makeAtomicRMWOrCmpxchg(s, Type::i64)"),
+ ("i64.atomic.rmw16.or_u", "makeAtomicRMWOrCmpxchg(s, Type::i64)"),
+ ("i64.atomic.rmw32.or_u", "makeAtomicRMWOrCmpxchg(s, Type::i64)"),
+ ("i64.atomic.rmw.or", "makeAtomicRMWOrCmpxchg(s, Type::i64)"),
+ ("i32.atomic.rmw8.xor_u", "makeAtomicRMWOrCmpxchg(s, Type::i32)"),
+ ("i32.atomic.rmw16.xor_u", "makeAtomicRMWOrCmpxchg(s, Type::i32)"),
+ ("i32.atomic.rmw.xor", "makeAtomicRMWOrCmpxchg(s, Type::i32)"),
+ ("i64.atomic.rmw8.xor_u", "makeAtomicRMWOrCmpxchg(s, Type::i64)"),
+ ("i64.atomic.rmw16.xor_u", "makeAtomicRMWOrCmpxchg(s, Type::i64)"),
+ ("i64.atomic.rmw32.xor_u", "makeAtomicRMWOrCmpxchg(s, Type::i64)"),
+ ("i64.atomic.rmw.xor", "makeAtomicRMWOrCmpxchg(s, Type::i64)"),
+ ("i32.atomic.rmw8.xchg_u", "makeAtomicRMWOrCmpxchg(s, Type::i32)"),
+ ("i32.atomic.rmw16.xchg_u", "makeAtomicRMWOrCmpxchg(s, Type::i32)"),
+ ("i32.atomic.rmw.xchg", "makeAtomicRMWOrCmpxchg(s, Type::i32)"),
+ ("i64.atomic.rmw8.xchg_u", "makeAtomicRMWOrCmpxchg(s, Type::i64)"),
+ ("i64.atomic.rmw16.xchg_u", "makeAtomicRMWOrCmpxchg(s, Type::i64)"),
+ ("i64.atomic.rmw32.xchg_u", "makeAtomicRMWOrCmpxchg(s, Type::i64)"),
+ ("i64.atomic.rmw.xchg", "makeAtomicRMWOrCmpxchg(s, Type::i64)"),
+ ("i32.atomic.rmw8.cmpxchg_u", "makeAtomicRMWOrCmpxchg(s, Type::i32)"),
+ ("i32.atomic.rmw16.cmpxchg_u", "makeAtomicRMWOrCmpxchg(s, Type::i32)"),
+ ("i32.atomic.rmw.cmpxchg", "makeAtomicRMWOrCmpxchg(s, Type::i32)"),
+ ("i64.atomic.rmw8.cmpxchg_u", "makeAtomicRMWOrCmpxchg(s, Type::i64)"),
+ ("i64.atomic.rmw16.cmpxchg_u", "makeAtomicRMWOrCmpxchg(s, Type::i64)"),
+ ("i64.atomic.rmw32.cmpxchg_u", "makeAtomicRMWOrCmpxchg(s, Type::i64)"),
+ ("i64.atomic.rmw.cmpxchg", "makeAtomicRMWOrCmpxchg(s, Type::i64)"),
# nontrapping float-to-int instructions
("i32.trunc_sat_f32_s", "makeUnary(s, UnaryOp::TruncSatSFloat32ToInt32)"),
("i32.trunc_sat_f32_u", "makeUnary(s, UnaryOp::TruncSatUFloat32ToInt32)"),
@@ -288,9 +288,9 @@ instructions = [
("i64.trunc_sat_f64_s", "makeUnary(s, UnaryOp::TruncSatSFloat64ToInt64)"),
("i64.trunc_sat_f64_u", "makeUnary(s, UnaryOp::TruncSatUFloat64ToInt64)"),
# SIMD ops
- ("v128.load", "makeLoad(s, v128, /*isAtomic=*/false)"),
- ("v128.store", "makeStore(s, v128, /*isAtomic=*/false)"),
- ("v128.const", "makeConst(s, v128)"),
+ ("v128.load", "makeLoad(s, Type::v128, /*isAtomic=*/false)"),
+ ("v128.store", "makeStore(s, Type::v128, /*isAtomic=*/false)"),
+ ("v128.const", "makeConst(s, Type::v128)"),
("v8x16.shuffle", "makeSIMDShuffle(s)"),
("i8x16.splat", "makeUnary(s, UnaryOp::SplatVecI8x16)"),
("i8x16.extract_lane_s", "makeSIMDExtract(s, SIMDExtractOp::ExtractLaneSVecI8x16, 16)"),