Amanieu d'Antras
fe9d2d8d22
Release version 2.2.1
2022-03-15 11:02:31 +00:00
Amanieu d'Antras
4dd1634218
Release version 2.2.0
2022-02-28 17:19:14 +00:00
ptitSeb
b6b07ba4e4
Fix singlepass Arm64 since #2775
2022-02-18 16:43:40 +01:00
R2D2
3f2fa63995
[chore]: Linting / formatting
2022-02-17 15:09:07 +01:00
R2D2
b6a596fe13
[chore]: Merged in upstream/master
2022-02-17 10:51:31 +01:00
Amanieu d'Antras
15f9d2646f
Release version 2.2.0-rc1
2022-02-15 19:10:24 +00:00
ptitSeb
c2a998224b
Some more aarch64 emitter, after some fuzz testing
2022-02-14 17:50:20 +01:00
ptitSeb
5ebae6f34e
Remove HashSet on SinglePass register collection and use a simple Bitmap now, to avoid risk of non deterministic runs
2022-02-11 16:20:32 +01:00
R2D2
c0239987c8
[fix]: Added assert guard in SSE support against the case that src2 == dst
2022-02-11 13:32:45 +01:00
ptitSeb
b3b1c8b5f5
Removed the sort on gprs/simds list before push/pop, by using a single vec for the push/pop
2022-02-11 13:27:59 +01:00
R2D2
6090608f8a
Merge remote-tracking branch 'upstream/master' into bat/feature/add-sse-singlepass
2022-02-11 10:32:39 +01:00
ptitSeb
a9fab001e8
Fix a singlepass codegen regression, but forcing a sort on gprs/simds list before push/pop
2022-02-11 10:23:47 +01:00
R2D2
8283a635bd
[fix]: Fixed a few stray mistakes in the sse_fn macro
2022-02-10 10:48:11 +01:00
ptitSeb
17b3a94d36
Singlepass: added some more emiter
2022-02-08 09:41:02 +01:00
R2D2
98b70d9ad1
[fix]: Fixed some errors in the register being used in sse instructions. Changed the roundss/sd function
2022-02-06 21:17:25 +01:00
ptitSeb
f27d0a9bd7
Fix Sdinglepass f32_load and f64_load function, and introduce emit_bcond_label_far as direct bcond may not work all the time (for #2777 )
2022-02-01 15:08:55 +01:00
R2D2
4ee83b3498
[chore]: Cleaning up doc strings from an over-zealous clion refactoring
2022-01-31 11:59:51 +01:00
R2D2
17d410531c
[chore]: Formatting
2022-01-31 11:55:05 +01:00
R2D2
d42ec572fd
[fix]: Cleanups after resolving conflicts with master
2022-01-31 11:52:06 +01:00
Jacob Turner
82bc23e082
Merge branch 'master' into bat/feature/add-sse-singlepass
2022-01-31 11:46:47 +01:00
R2D2
abcbc13af9
[feat]: Refactored how macros emit additional movss/movsd instructions. Added >= SSE 4.1 implementation for emit_vblendvpd. Added some TODOs
2022-01-31 11:25:18 +01:00
R2D2
b32b5cfa53
[feat]: Adding the plumbing necessary for the singlepass to choose between different simd instruction sets. Partial work on supporting SSE4.2
2022-01-30 10:55:26 +01:00
Amanieu d'Antras
4e27e1164c
Release version 2.2.0-rc1
2022-01-27 23:59:27 +00:00
ptitSeb
bff3c09875
Merge branch 'master' into singlepass_aarch64
2022-01-26 10:23:38 +01:00
Simonas Kazlauskas
a358e84741
x64: fix assert when calling a function
2022-01-24 20:37:28 +02:00
ptitSeb
74779f5e80
Merge branch 'master' into singlepass_aarch64
2022-01-21 11:08:43 +01:00
Amanieu d'Antras
ffb9cd33b9
Use trampolines for all libcalls in engine-universal and engine-dylib
...
In both of these engines, the compiled code may be loaded in memory far
from the Wasmer runtime which means that libcalls may not be reachable
through the normal relocation types. Instead a trampoline is needed to
allow reaching any address in the 64-bit address space.
In the case of engine-dylib, this is even worse since the symbols are
not exported by the executable without some special linker flags. The
solution here is to manually patch in the addresses at load time into
a data table of function pointers.
2022-01-20 11:47:20 +00:00
Amanieu d'Antras
fb7a572415
Use exact version for Wasmer crate dependencies
...
We don't guarantee API compatibility between internal Wasmer crates when
making minor version bumps.
2022-01-19 21:35:09 +00:00
ptitSeb
61609c9da3
improv(compiler) Added a few more arm64 emitter, just in case
2022-01-19 11:25:46 +01:00
ptitSeb
80f9c8fed9
feat(compiler) Small adaption after comments
2022-01-17 09:14:26 +01:00
ptitSeb
7f4fd02774
feat(compiler) Adapted/Fixed/Removed some comments in SinglePass codegen
2022-01-14 17:15:11 +01:00
ptitSeb
c8ae8c8967
imp(feature) Fixed x64 backend of Singlepass
2022-01-14 17:15:11 +01:00
ptitSeb
0e2d8097d0
imp(compiler) Add support for AppleAarch64 ABI to SinglePass
2022-01-14 17:15:11 +01:00
ptitSeb
da1d96b66e
improv(compiler) Fixed some mystakes (207 tests passes now, 0 failed)
2022-01-14 17:15:11 +01:00
ptitSeb
77e65cdaf7
improv(compiler) Added float to int conversion, with trap (187 tests passes now)
2022-01-14 17:15:11 +01:00
ptitSeb
9d188cb84f
improv(compiler) Added canonicalization and rounding (182 tests passes now)
2022-01-14 17:15:11 +01:00
ptitSeb
8f5a30a1a7
improv(compiler) More fixes (176 tests passes now)
2022-01-14 17:15:11 +01:00
ptitSeb
4f938643d1
improv(compiler) More native call work and fixes (166 tests passes now)
2022-01-14 17:15:11 +01:00
ptitSeb
0bbc81a5b8
improv(compiler) Oops, that was a mystake
2022-01-14 17:15:11 +01:00
ptitSeb
8d066a13e8
improv(compiler) More float and native call work (133 tests passes now)
2022-01-14 17:15:11 +01:00
ptitSeb
7cbf2fed1d
improv(compiler) More logic and float operations, but no canonicalization yet (120 tests passes now)
2022-01-14 17:15:11 +01:00
ptitSeb
7ce5475c03
improv(compiler) More work on SDIV, UDIV, UREM and SREM operations (109 tests passes now)
2022-01-14 17:15:11 +01:00
ptitSeb
005351ba31
improv(compiler) Added SDIV, UDIV and UREM operations (105 tests passes now)
2022-01-14 17:15:11 +01:00
ptitSeb
ddc17374c3
improv(compiler) Added CLZ, CTZ and a few float operations (99 tests passes now)
2022-01-14 17:15:11 +01:00
ptitSeb
f23a137564
improv(compiler) More memory oprations (95 tests passes now)
2022-01-14 17:15:11 +01:00
ptitSeb
6b593edf7b
improv(compiler) More logic oprations (91 tests passes now)
2022-01-14 17:15:10 +01:00
ptitSeb
7c2eac166a
improv(compiler) Added/Fixed Store/Load of i32/i64 (74 tests passes now)
2022-01-14 17:15:10 +01:00
ptitSeb
e9b80d48b6
improv(compiler) Added logic and shift operations (70 tests passes now)
2022-01-14 17:15:10 +01:00
ptitSeb
962511d617
improv(compiler) Fixed stack alignment on native function call (69 tests passes now)
2022-01-14 17:15:10 +01:00
ptitSeb
2f6264ac23
improv(compiler) Added emit_jmp_to_jumptable (68 tests passes now)
2022-01-14 17:15:10 +01:00