Benjamin Bouvier
bab337fc32
Address review comments;
2020-07-16 18:21:06 +02:00
Benjamin Bouvier
5a55646fc3
machinst x64: support out-of-bounds memory accesses;
2020-07-16 18:21:06 +02:00
Benjamin Bouvier
ea33ce9116
machinst x64: basic support for baldrdash
...
+ fix multi-value support
2020-07-16 18:21:06 +02:00
Benjamin Bouvier
55b9059954
machinst x64: remove spurious assertion about FP offset requiring to be 16-bytes aligned
2020-07-16 18:21:06 +02:00
Benjamin Bouvier
f932bccaf8
machinst x64: fix sign-extension at boundary
2020-07-16 18:21:06 +02:00
Chris Fallin
26529006e0
Address review comments.
2020-07-14 10:17:29 -07:00
Chris Fallin
08353fcc14
Reftypes part two: add support for stackmaps.
...
This commit adds support for generating stackmaps at safepoints to the
new backend framework and to the AArch64 backend in particular. It has
been tested to work with SpiderMonkey.
2020-07-14 10:17:27 -07:00
Benjamin Bouvier
faeed3c7a4
machinst x64: implement spills and reloads
2020-07-03 14:33:52 +02:00
Benjamin Bouvier
de9fbfa095
machinst x64: correctly assign FP registers for incoming args;
...
Fixes #1943 .
Thanks to @jlb6740 for noticing the issue and @bjorn3 for catching the
error!
2020-07-01 15:00:43 +02:00
Benjamin Bouvier
c9a3f05afd
machinst x64: implement calls and int cmp/store/loads;
...
This makes it possible to run a simple recursive fibonacci function in
wasmtime.
2020-06-25 16:20:33 +02:00
Johnnie Birch
2d364f75bd
Remove xmm_r_r inst data structure and cases after related refactoring
...
Removes unneeded data structure that was holding instructions for
xmm based move instructions. These instructions can should be categorized
as rm not just r. This change is intended to simplify organization and
cases when lowering.
2020-06-25 14:31:51 +02:00
Benjamin Bouvier
b2a0718404
machinst x64: expand encoding names a bit;
...
This avoids one, two, and three letter structures names, which makes the
code easier to read (while a bit more verbose).
2020-06-15 16:39:08 +02:00
Benjamin Bouvier
ef5de04d32
machinst/x64: teach regalloc what FP instructions are moves;
...
and cosmetic changes after #1665 landed.
2020-06-15 16:39:08 +02:00
Johnnie Birch
48f0b10c7a
Add initial scalar FP operations (addss, subss, etc) to x64 backend.
...
Adds support for addss and subss. This is the first lowering for
sse floating point alu and some move operations. The changes here do
some renaming of data structures and adds a couple of new ones
to support sse specific operations. The work done here will likely
evolve as needed to support an efficient, inituative, and consistent
framework.
2020-06-10 18:36:57 +02:00
Chris Fallin
fe97659813
Address review comments.
2020-06-03 13:31:34 -07:00
Chris Fallin
615362068f
Multi-value return support.
2020-06-03 13:31:34 -07:00
Benjamin Bouvier
fa54422854
Add a work-in-progress backend for x86_64 using the new instruction selection;
...
Most of the work is credited to Julian Seward.
Co-authored-by: Julian Seward <jseward@acm.org >
Co-authored-by: Chris Fallin <cfallin@mozilla.com >
2020-05-05 16:35:41 +02:00