Files
wasmtime/cranelift/filetests/filetests/runtests/ref64-invalid-null.clif
Afonso Bordado 36e92add6f riscv64: Move is_null/is_invalid to ISLE (#5874)
* riscv64: Move `is_null`/`is_invalid` to ISLE

* riscv64: Fix `is_invalid` codegen

* Implement review suggestions

Thanks!

Co-authored-by: Jamey Sharp <jamey@minilop.net>

---------

Co-authored-by: Jamey Sharp <jamey@minilop.net>
2023-02-25 12:48:44 +00:00

44 lines
832 B
Plaintext

; Tests for platforms with 64-bit references.
test run
target aarch64
target x86_64
target s390x
target riscv64gc
function %is_null_true_r64() -> i8 {
block0:
v0 = null.r64
v1 = is_null v0
return v1
}
; run: %is_null_true_r64() == 1
function %is_null_r64(i64) -> i8 {
block0(v0: i64):
v1 = bitcast.r64 v0
v2 = is_null v1
return v2
}
; run: %is_null_r64(256347) == 0
; run: %is_null_r64(-1) == 0
; run: %is_null_r64(0) == 1
function %is_invalid_r64(i64) -> i8 {
block0(v0: i64):
v1 = bitcast.r64 v0
v2 = is_invalid v1
return v2
}
; run: %is_invalid_r64(0xffffffffffffffff) == 1
; run: %is_invalid_r64(-1) == 1
; run: %is_invalid_r64(256347) == 0
; run: %is_invalid_r64(0) == 0
function %is_invalid_null_r64() -> i8 {
block0:
v0 = null.r64
v1 = is_invalid v0
return v1
}
; run: %is_invalid_null_r64() == 0