+ support the atomic instructions in the WebAssembly inline asm reader

This commit is contained in:
Nikolay Nikolov 2024-07-22 01:48:56 +03:00
parent e571bd8693
commit 43229cdf2e

View File

@ -786,7 +786,9 @@ Unit rawasmtext;
a_i32_extend16_s,
a_i64_extend8_s,
a_i64_extend16_s,
a_i64_extend32_s:
a_i64_extend32_s,
a_atomic_fence:
;
{ instructions with an integer const operand }
a_i32_const,
@ -858,7 +860,82 @@ Unit rawasmtext;
a_i32_store16,
a_i64_store8,
a_i64_store16,
a_i64_store32:
a_i64_store32,
a_memory_atomic_notify,
a_memory_atomic_wait32,
a_memory_atomic_wait64,
a_i32_atomic_load,
a_i64_atomic_load,
a_i32_atomic_load8_u,
a_i32_atomic_load16_u,
a_i64_atomic_load8_u,
a_i64_atomic_load16_u,
a_i64_atomic_load32_u,
a_i32_atomic_store,
a_i64_atomic_store,
a_i32_atomic_store8,
a_i32_atomic_store16,
a_i64_atomic_store8,
a_i64_atomic_store16,
a_i64_atomic_store32,
a_i32_atomic_rmw_add,
a_i64_atomic_rmw_add,
a_i32_atomic_rmw8_add_u,
a_i32_atomic_rmw16_add_u,
a_i64_atomic_rmw8_add_u,
a_i64_atomic_rmw16_add_u,
a_i64_atomic_rmw32_add_u,
a_i32_atomic_rmw_sub,
a_i64_atomic_rmw_sub,
a_i32_atomic_rmw8_sub_u,
a_i32_atomic_rmw16_sub_u,
a_i64_atomic_rmw8_sub_u,
a_i64_atomic_rmw16_sub_u,
a_i64_atomic_rmw32_sub_u,
a_i32_atomic_rmw_and,
a_i64_atomic_rmw_and,
a_i32_atomic_rmw8_and_u,
a_i32_atomic_rmw16_and_u,
a_i64_atomic_rmw8_and_u,
a_i64_atomic_rmw16_and_u,
a_i64_atomic_rmw32_and_u,
a_i32_atomic_rmw_or,
a_i64_atomic_rmw_or,
a_i32_atomic_rmw8_or_u,
a_i32_atomic_rmw16_or_u,
a_i64_atomic_rmw8_or_u,
a_i64_atomic_rmw16_or_u,
a_i64_atomic_rmw32_or_u,
a_i32_atomic_rmw_xor,
a_i64_atomic_rmw_xor,
a_i32_atomic_rmw8_xor_u,
a_i32_atomic_rmw16_xor_u,
a_i64_atomic_rmw8_xor_u,
a_i64_atomic_rmw16_xor_u,
a_i64_atomic_rmw32_xor_u,
a_i32_atomic_rmw_xchg,
a_i64_atomic_rmw_xchg,
a_i32_atomic_rmw8_xchg_u,
a_i32_atomic_rmw16_xchg_u,
a_i64_atomic_rmw8_xchg_u,
a_i64_atomic_rmw16_xchg_u,
a_i64_atomic_rmw32_xchg_u,
a_i32_atomic_rmw_cmpxchg,
a_i64_atomic_rmw_cmpxchg,
a_i32_atomic_rmw8_cmpxchg_u,
a_i32_atomic_rmw16_cmpxchg_u,
a_i64_atomic_rmw8_cmpxchg_u,
a_i64_atomic_rmw16_cmpxchg_u,
a_i64_atomic_rmw32_cmpxchg_u:
begin
{ TODO: parse the optional memarg operand }
result.ops:=1;