bjorn3 commented on issue #3009:
The default was changed only two and a half months ago (https://github.com/bytecodealliance/wasmtime/pull/2718). It felt much longer.
cfallin commented on issue #3009:
Thanks so much for tackling this! It has been on my to-do list for a while, but at low priority relative to a bunch of other things, so I'm happy that you had time to pick it up :-)
I think we should probably write up a proper RFC in bytecodealliance/rfcs, just to ensure we have the right folks onboard and there are no remaining surprise uses of the backend. I'll draft something soon and then we can start discussion.
cfallin commented on issue #3009:
@bjorn3 now that the RFC is merged, would you be interested in bringing this PR up-to-date? If not, no worries, someone else can pick up the effort, but please do feel free if you're up for it, and I'm happy to review.
bjorn3 commented on issue #3009:
I will try to update it tomorrow.
bjorn3 commented on issue #3009:
@cfallin Rebased
cfallin commented on issue #3009:
@bjorn3 there's a build failure that seems to arise from some missing DSL bits -- perhaps cut just a bit too much?
(As an aside, I'm very happy to see the -40k LoC stat; that's a lot of code we won't have to maintain!)
bjorn3 commented on issue #3009:
I forgot to remove two tests it seems. They were testing parts I cut out.
bjorn3 commented on issue #3009:
(As an aside, I'm very happy to see the -40k LoC stat; that's a lot of code we won't have to maintain!)
~16k of deletions is tests for the old x86 backend or the old backend infrastructure. ~24k deletions are for cranelift-codegen.
bjorn3 commented on issue #3009:
FAIL filetests/filetests/runtests/extend.clif: run Caused by: 0: Cranelift codegen error 1: Unsupported feature: Isplit: Unsupported type: types::I64
How did this test work on AArch64 in the first place?
isplit
from i64 -> i32, i32 shouldn't have been implemented on any new backend at all.
bjorn3 edited a comment on issue #3009:
FAIL filetests/filetests/runtests/extend.clif: run Caused by: 0: Cranelift codegen error 1: Unsupported feature: Isplit: Unsupported type: types::I64
How did this test work on AArch64 in the first place?
isplit
from i64 -> i32, i32 shouldn't have been implemented on any new backend at all.Should I remove it?
cfallin commented on issue #3009:
```
FAIL filetests/filetests/runtests/extend.clif: runCaused by:
0: Cranelift codegen error
1: Unsupported feature: Isplit: Unsupported type: types::I64
```How did this test work on AArch64 in the first place?
isplit
from i64 -> i32, i32 shouldn't have been implemented on any new backend at all.Should I remove it?
Not sure, but for that particular test and its twin below, we could probably rewrite it without the
isplit
(maybe this is what you mean by "remove it") -- just a single 64-bit comparison rather than a split/two 32-bit compares/boolean-and.
bjorn3 commented on issue #3009:
Rewrote it to remove the usage of isplit.
bjorn3 commented on issue #3009:
CI passes
cfallin commented on issue #3009:
Everything looks good -- well, here goes something! The old backend served us well, and thanks to those who worked on it; onward...
dvc94ch commented on issue #3009:
I guess x86/riscv support is canned for the moment? as in there aren't enough users for these targets?
bjorn3 commented on issue #3009:
x86 is not a priority AFAIK, but it would be nice to have. Tracking issue: https://github.com/bytecodealliance/wasmtime/issues/1980
Riscv support has never been usable AFAICT. I believe it got prototyped with the original creation of Cranelift, but has never seen any improvements afterwards. Tracking issue: https://github.com/bytecodealliance/wasmtime/issues/2217
Nobody is currently working on either target to the best of my knowledge, but I am sure PR's for either will be accepted. @cfallin estimated that it will be 2-3 months of fulltime work to get to a reasonable state in https://github.com/bytecodealliance/wasmtime/issues/2217#issuecomment-961197939. If you do want to implement a backend, be aware of https://github.com/bytecodealliance/rfcs/pull/15.
Last updated: Dec 23 2024 at 12:05 UTC