bjorn3 opened issue #6104:
Feature
See title. For example
v0 = vconst.i64x2 ...; bitcast.i128 little v0
.Benefit
This allows bitcasting between the two without having to go through memory. Cg_clif needs this bitcasting for implementing
mem::transmute
and float to 128bit int casts on Windows. Currently it has to go through the stack, which is slower and inhibits optimizations.
jameysharp labeled issue #6104:
Feature
See title. For example
v0 = vconst.i64x2 ...; bitcast.i128 little v0
.Benefit
This allows bitcasting between the two without having to go through memory. Cg_clif needs this bitcasting for implementing
mem::transmute
and float to 128bit int casts on Windows. Currently it has to go through the stack, which is slower and inhibits optimizations.
afonso360 added the cranelift:E-compiler-easy label to Issue #6104.
afonso360 commented on issue #6104:
This seems like a good starter issue. It currently affects all of our 4 backends.
Here's a test demonstrating the issue:
test compile target aarch64 function %bitcast_vec_to_int(i64x2) -> i128 { block0(v0: i64x2): v1 = bitcast.i128 little v0 return v1 } function %bitcast_int_to_vec(i128) -> i64x2 { block0(v0: i128): v1 = bitcast.i64x2 little v0 return v1 }
When running this test it fails with:
should be implemented in ISLE: inst = v1 = bitcast.i128 little v0, type = Some(types::I128)
Happy to help anyone who wants to try working on this!
afonso360 added the cranelift:area:aarch64 label to Issue #6104.
afonso360 added the cranelift:area:s390x label to Issue #6104.
afonso360 added the cranelift:area:riscv64 label to Issue #6104.
afonso360 added the cranelift:area:x64 label to Issue #6104.
aidenfoxivey commented on issue #6104:
@afonso360 It seems like the only remaining part to fix is s390x, right?
afonso360 commented on issue #6104:
Yes, I think that's correct
aidenfoxivey commented on issue #6104:
Yes, I think that's correct
I'll take a look at how to get a VM running on my ARM MacBook.
aidenfoxivey commented on issue #6104:
Maybe I can take on that remaining part.
aidenfoxivey commented on issue #6104:
Signed up for one of those LinuxONE servers from IBM, but no response from them so far lol. I dunno whether maybe QEMU is the preferred approach?
aidenfoxivey edited a comment on issue #6104:
Signed up for (access/time on) one of those LinuxONE servers from IBM, but no response from them so far lol. I dunno whether maybe QEMU is the preferred approach?
afonso360 commented on issue #6104:
QEMU is usually easier for working on different arches. We have a great doc on how to set it up if you're running in Linux
aidenfoxivey commented on issue #6104:
QEMU is usually easier for working on different arches. We have a great doc on how to set it up if you're running in Linux
Maybe I'll try to run those in a VM. Unfortunately I'm a Mac person for the time being.
Last updated: Dec 23 2024 at 12:05 UTC