Skip to content

Commit

Permalink
feat: add support for v128.load32_zero and v128.load64_zero
Browse files Browse the repository at this point in the history
  • Loading branch information
bmeurer committed Oct 24, 2020
1 parent acadb29 commit adea187
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 0 deletions.
4 changes: 4 additions & 0 deletions src/WasmDis.ts
Original file line number Diff line number Diff line change
Expand Up @@ -159,6 +159,7 @@ function memoryAddressToString(
case OperatorCode.i64_atomic_rmw_xor:
case OperatorCode.i64_atomic_rmw_xchg:
case OperatorCode.i64_atomic_rmw_cmpxchg:
case OperatorCode.v128_load64_zero:
defaultAlignFlags = 3;
break;
case OperatorCode.i32_load:
Expand Down Expand Up @@ -188,6 +189,7 @@ function memoryAddressToString(
case OperatorCode.i64_atomic_rmw32_xchg_u:
case OperatorCode.i32_atomic_rmw_cmpxchg:
case OperatorCode.i64_atomic_rmw32_cmpxchg_u:
case OperatorCode.v128_load32_zero:
defaultAlignFlags = 2;
break;
case OperatorCode.i32_load16_s:
Expand Down Expand Up @@ -786,6 +788,8 @@ export class WasmDisassembler {
case OperatorCode.v32x4_load_splat:
case OperatorCode.v64x2_load_splat:
case OperatorCode.v128_store:
case OperatorCode.v128_load32_zero:
case OperatorCode.v128_load64_zero:
var memoryAddress = memoryAddressToString(
operator.memoryAddress,
operator.code
Expand Down
6 changes: 6 additions & 0 deletions src/WasmParser.ts
Original file line number Diff line number Diff line change
Expand Up @@ -325,6 +325,8 @@ export const enum OperatorCode {
v32x4_load_splat = 0xfd09,
v64x2_load_splat = 0xfd0a,
v128_store = 0xfd0b,
v128_load32_zero = 0xfdfc,
v128_load64_zero = 0xfdfd,
v128_const = 0xfd0c,
i8x16_shuffle = 0xfd0d,
i8x16_swizzle = 0xfd0e,
Expand Down Expand Up @@ -1032,6 +1034,8 @@ export const OperatorCodeNames = [
"i32x4.trunc_sat_f32x4_u",
"f32x4.convert_i32x4_s",
"f32x4.convert_i32x4_u",
"v128.load32_zero",
"v128.load64_zero",
].forEach((s, i) => {
OperatorCodeNames[0xfd00 | i] = s;
});
Expand Down Expand Up @@ -2205,6 +2209,8 @@ export class BinaryReader {
case OperatorCode.v32x4_load_splat:
case OperatorCode.v64x2_load_splat:
case OperatorCode.v128_store:
case OperatorCode.v128_load32_zero:
case OperatorCode.v128_load64_zero:
memoryAddress = this.readMemoryImmediate();
break;
case OperatorCode.v128_const:
Expand Down

0 comments on commit adea187

Please sign in to comment.