Ported the existing implementation of the following Opcodes for AArch64 to ISLE: - `Fence` - `IsNull` - `IsInvalid` - `Debugtrap` Copyright (c) 2022 Arm Limited
43 lines
855 B
Plaintext
43 lines
855 B
Plaintext
; Tests for platforms with 64-bit references.
|
|
test run
|
|
target aarch64
|
|
target x86_64
|
|
target s390x
|
|
|
|
function %is_null_true_r64() -> b1 {
|
|
block0:
|
|
v0 = null.r64
|
|
v1 = is_null v0
|
|
return v1
|
|
}
|
|
; run: %is_null_true_r64() == true
|
|
|
|
function %is_null_r64(i64) -> b1 {
|
|
block0(v0: i64):
|
|
v1 = raw_bitcast.r64 v0
|
|
v2 = is_null v1
|
|
return v2
|
|
}
|
|
; run: %is_null_r64(256347) == false
|
|
; run: %is_null_r64(-1) == false
|
|
; run: %is_null_r64(0) == true
|
|
|
|
function %is_invalid_r64(i64) -> b1 {
|
|
block0(v0: i64):
|
|
v1 = raw_bitcast.r64 v0
|
|
v2 = is_invalid v1
|
|
return v2
|
|
}
|
|
; run: %is_invalid_r64(0xffffffffffffffff) == true
|
|
; run: %is_invalid_r64(-1) == true
|
|
; run: %is_invalid_r64(256347) == false
|
|
; run: %is_invalid_r64(0) == false
|
|
|
|
function %is_invalid_null_r64() -> b1 {
|
|
block0:
|
|
v0 = null.r64
|
|
v1 = is_invalid v0
|
|
return v1
|
|
}
|
|
; run: %is_invalid_null_r64() == false
|