Files
wasmtime/cranelift/filetests/filetests/runtests/i128-extend.clif

27 lines
813 B
Plaintext

test run
target aarch64
; target s390x TODO: Not yet implemented on s390x
target x86_64 machinst
target x86_64 legacy
function %i128_uextend_i64(i64) -> i64, i64 {
block0(v0: i64):
v1 = uextend.i128 v0
v2, v3 = isplit v1
return v2, v3
}
; run: %i128_uextend_i64(0) == [0, 0]
; run: %i128_uextend_i64(-1) == [-1, 0]
; run: %i128_uextend_i64(0xffff_ffff_eeee_0000) == [0xffff_ffff_eeee_0000, 0]
function %i128_sextend_i64(i64) -> i64, i64 {
block0(v0: i64):
v1 = sextend.i128 v0
v2, v3 = isplit v1
return v2, v3
}
; run: %i128_sextend_i64(0) == [0, 0]
; run: %i128_sextend_i64(-1) == [-1, -1]
; run: %i128_sextend_i64(0x7fff_ffff_ffff_ffff) == [0x7fff_ffff_ffff_ffff, 0x0000_0000_0000_0000]
; run: %i128_sextend_i64(0xffff_ffff_eeee_0000) == [0xffff_ffff_eeee_0000, 0xffff_ffff_ffff_ffff]