- Allow bitcast for vectors with differing lane widths - Remove raw_bitcast IR instruction - Change all users of raw_bitcast to bitcast - Implement support for no-op bitcast cases across backends This implements the second step of the plan outlined here: https://github.com/bytecodealliance/wasmtime/issues/4566#issuecomment-1234819394
22 lines
555 B
Plaintext
22 lines
555 B
Plaintext
test interpret
|
|
test run
|
|
target aarch64
|
|
;; 64-bit vector types only supported on aarch64
|
|
|
|
function %bitcast_if32x2(i32x2) -> f32x2 {
|
|
block0(v0: i32x2):
|
|
v1 = bitcast.f32x2 v0
|
|
return v1
|
|
}
|
|
; run: %bitcast_if32x2([0 4294967295]) == [0x0.0 -NaN:0x3fffff]
|
|
; run: %bitcast_if32x2([-1 127]) == [-NaN:0x3fffff 0x0.0000fep-126]
|
|
|
|
function %bitcast_fi32x2(f32x2) -> i32x2 {
|
|
block0(v0: f32x2):
|
|
v1 = bitcast.i32x2 v0
|
|
return v1
|
|
}
|
|
; run: %bitcast_fi32x2([0x0.0 -NaN:0x3fffff]) == [0 4294967295]
|
|
; run: %bitcast_fi32x2([-NaN:0x3fffff 0x0.0000fep-126]) == [-1 127]
|
|
|