Nikolay Nikolov
b900be6142
+ added WebAssembly intrinsics for reading __tls_size, __tls_align and __tls_base
2022-07-14 04:15:47 +03:00
Nikolay Nikolov
dbba2d2746
+ implemented popcnt via the popcnt instruction in WebAssembly
2022-05-27 23:23:27 +03:00
Nikolay Nikolov
16f5863847
+ added WebAssembly atomic store intrinsics
2022-05-25 19:22:45 +03:00
Nikolay Nikolov
0103964250
+ implemented WebAssembly atomic load intrinsics
2022-05-25 18:55:41 +03:00
Nikolay Nikolov
f1cb5d8f71
+ support intrinsic for the memory.atomic.notify WebAssembly instruction
2022-05-21 18:03:14 +03:00
Nikolay Nikolov
86643710c4
+ support intrinsics for the WebAssembly memory.atomic.wait32 and memory.atomic.wait64 instructions
2022-05-21 17:53:38 +03:00
Nikolay Nikolov
e03b920520
+ added intrinsic support for the WebAssembly cmpxchg atomic operations as well
2022-05-21 02:52:31 +03:00
Nikolay Nikolov
d8f06aa4f1
+ added instrinsic support for the all the 2-parameter read-modify-write
...
WebAssembly atomic operations (add, sub, and, or, xor, xchg). Note that they
are not implemented in the internal assembler, yet.
2022-05-20 17:36:37 +03:00
Nikolay Nikolov
1d70437017
+ added intrinsic (for RTL internal use) that emits the WebAssembly atomic.fence instruction
2022-05-13 22:46:27 +03:00
Nikolay Nikolov
12a2c56461
- removed thlcgwasm.incblock, .decblock and br_blocks, as branching is now done
...
entirely with labels
2021-10-22 17:42:29 +03:00
Nikolay Nikolov
3258937d97
+ implemented move() for WebAssembly via the memory.copy instruction
2021-10-02 21:33:28 +03:00
Nikolay Nikolov
2e3e3edb5f
+ implemented FillChar for WebAssembly via the memory.fill instruction
2021-10-02 20:31:37 +03:00
Nikolay Nikolov
91d8009b53
+ implemented round(real) for WebAssembly via the fXX.nearest and i64.trunc_fXX_s instructions
2021-09-29 05:27:27 +03:00
Nikolay Nikolov
835bc62e2a
+ implemented trunc(real) for WebAssembly via the i64.trunc_f32_s and i64.trunc_f64_s instructions
2021-09-29 05:07:43 +03:00
Nikolay Nikolov
d84a7d1bde
+ implemented int(real) for WebAssembly via the f32.trunc and f64.trunc instructions
2021-09-29 04:19:10 +03:00
Nikolay Nikolov
8822be8a1f
+ implemented abs(real) for WebAssembly via the f32.abs and f64.abs instructions
2021-09-29 04:04:03 +03:00
Nikolay Nikolov
95243ed6ed
+ implemented sqrt via the f32.sqrt and f64.sqrt instructions
2021-09-29 03:48:31 +03:00
Nikolay Nikolov
cdf1ceca76
* emit a weak symbol for the exception tag, since that's what the LLVM linker
...
wants to treat them as shared between .o files
2021-09-28 02:52:40 +03:00
Nikolay Nikolov
f701d2f294
+ support in_wasm32_throw_fpcexception in twasminlinenode.pass_typecheck_cpu
2021-09-28 01:11:01 +03:00
Nikolay Nikolov
82b6450f19
+ introduced the AT_WASM_EXCEPTION_TAG asm symbol type, use that for specifying
...
the parameter to the 'throw' and 'catch' instructions
2021-09-27 17:49:30 +03:00
Nikolay Nikolov
c2754eac3f
+ introduced the wasm32_throw_fpcexception inline function, that emits a
...
'throw' instruction. This way we'll be able to emit this instruction from
RTL code (i.e. from fpc_raiseexception, when that is implemented for
WebAssembly)
2021-09-18 02:39:16 +03:00
nickysn
c42e297bc6
+ implemented sqr(real) for the WebAssembly target
...
git-svn-id: trunk@49430 -
2021-06-01 16:41:39 +00:00
nickysn
947f9af0e5
+ fixed code generation for high(dynarray) for the WebAssembly target
...
git-svn-id: trunk@49217 -
2021-04-17 13:58:55 +00:00
nickysn
4ef1367019
+ added wasm32 inline procedure for generating the 'unreachable' instruction
...
git-svn-id: branches/wasm@48442 -
2021-01-28 12:48:56 +00:00
nickysn
699626ee5c
* a_grow_memory asm op renamed a_memory_grow
...
git-svn-id: branches/wasm@48319 -
2021-01-22 14:52:46 +00:00
nickysn
d0fe45a595
* a_current_memory asm op renamed a_memory_size
...
git-svn-id: branches/wasm@48318 -
2021-01-22 14:51:55 +00:00
nickysn
54299874d3
+ implemented memory.grow and memory.size intrinsics and implemented SysOSAlloc
...
git-svn-id: branches/wasm@48290 -
2021-01-21 23:13:49 +00:00
nickysn
cc94ab3ab8
+ implemented length() code generation for WebAssembly
...
git-svn-id: branches/wasm@48198 -
2021-01-19 14:32:23 +00:00
nickysn
888af282a4
+ override the inline node for WASM
...
git-svn-id: branches/wasm@48197 -
2021-01-19 14:04:47 +00:00