Files
wasmtime/cranelift/filetests/filetests/runtests/simd-bitcast.clif
Ulrich Weigand 961107ec63 Merge raw_bitcast and bitcast (#5175)
- 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
2022-11-02 10:16:27 -07:00

36 lines
1000 B
Plaintext

test interpret
test run
target aarch64
target x86_64
target s390x
function %bitcast_if32x4(i32x4) -> f32x4 {
block0(v0: i32x4):
v1 = bitcast.f32x4 v0
return v1
}
; run: %bitcast_if32x4([0 4294967295 -1 127]) == [0x0.0 -NaN:0x3fffff -NaN:0x3fffff 0x0.0000fep-126]
function %bitcast_fi32x4(f32x4) -> i32x4 {
block0(v0: f32x4):
v1 = bitcast.i32x4 v0
return v1
}
; run: %bitcast_fi32x4([0x0.0 -NaN:0x3fffff -NaN:0x3fffff 0x0.0000fep-126]) == [0 4294967295 -1 127]
function %bitcast_if64x2(i64x2) -> f64x2 {
block0(v0: i64x2):
v1 = bitcast.f64x2 v0
return v1
}
; run: %bitcast_if64x2([0 18446744073709551615]) == [0x0.0 -NaN:0x7ffffffffffff]
; run: %bitcast_if64x2([-1 127]) == [-NaN:0x7ffffffffffff 0x0.000000000007fp-1022]
function %bitcast_fi64x2(f64x2) -> i64x2 {
block0(v0: f64x2):
v1 = bitcast.i64x2 v0
return v1
}
; run: %bitcast_fi64x2([0x0.0 -NaN:0x7ffffffffffff]) == [0 18446744073709551615]
; run: %bitcast_fi64x2([-NaN:0x7ffffffffffff 0x0.000000000007fp-1022]) == [-1 127]