mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-22 22:49:37 +02:00
+ support the atomic instructions in the WebAssembly inline asm reader
This commit is contained in:
parent
e571bd8693
commit
43229cdf2e
@ -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;
|
||||
|
Loading…
Reference in New Issue
Block a user