65 lines
1.9 KiB
Plaintext
65 lines
1.9 KiB
Plaintext
test run
|
|
set enable_llvm_abi_extensions=true
|
|
target aarch64
|
|
target x86_64 machinst
|
|
; TODO: Merge this file with i128-extend once the x86 legacy backend is removed
|
|
|
|
function %i128_uextend_i32(i32) -> i128 {
|
|
block0(v0: i32):
|
|
v1 = uextend.i128 v0
|
|
return v1
|
|
}
|
|
; run: %i128_uextend_i32(0) == 0
|
|
; run: %i128_uextend_i32(-1) == 0x00000000_00000000_00000000_ffffffff
|
|
; run: %i128_uextend_i32(0xffff_eeee) == 0x00000000_00000000_00000000_ffffeeee
|
|
|
|
function %i128_sextend_i32(i32) -> i128 {
|
|
block0(v0: i32):
|
|
v1 = sextend.i128 v0
|
|
return v1
|
|
}
|
|
; run: %i128_sextend_i32(0) == 0
|
|
; run: %i128_sextend_i32(-1) == -1
|
|
; run: %i128_sextend_i32(0x7fff_ffff) == 0x00000000_00000000_00000000_7fffffff
|
|
; run: %i128_sextend_i32(0xffff_eeee) == 0xffffffff_ffffffff_ffffffff_ffff_eeee
|
|
|
|
|
|
function %i128_uextend_i16(i16) -> i128 {
|
|
block0(v0: i16):
|
|
v1 = uextend.i128 v0
|
|
return v1
|
|
}
|
|
; run: %i128_uextend_i16(0) == 0
|
|
; run: %i128_uextend_i16(-1) == 0x00000000_00000000_00000000_0000ffff
|
|
; run: %i128_uextend_i16(0xffee) == 0x00000000_00000000_00000000_0000ffee
|
|
|
|
function %i128_sextend_i16(i16) -> i128 {
|
|
block0(v0: i16):
|
|
v1 = sextend.i128 v0
|
|
return v1
|
|
}
|
|
; run: %i128_sextend_i16(0) == 0
|
|
; run: %i128_sextend_i16(-1) == -1
|
|
; run: %i128_sextend_i16(0x7fff) == 0x00000000_00000000_00000000_00007fff
|
|
; run: %i128_sextend_i16(0xffee) == 0xffffffff_ffffffff_ffffffff_ffffffee
|
|
|
|
|
|
function %i128_uextend_i8(i8) -> i128 {
|
|
block0(v0: i8):
|
|
v1 = uextend.i128 v0
|
|
return v1
|
|
}
|
|
; run: %i128_uextend_i8(0) == 0
|
|
; run: %i128_uextend_i8(-1) == 0x00000000_00000000_00000000_000000ff
|
|
; run: %i128_uextend_i8(0xfe) == 0x00000000_00000000_00000000_000000fe
|
|
|
|
function %i128_sextend_i8(i8) -> i128 {
|
|
block0(v0: i8):
|
|
v1 = sextend.i128 v0
|
|
return v1
|
|
}
|
|
; run: %i128_sextend_i8(0) == 0
|
|
; run: %i128_sextend_i8(-1) == -1
|
|
; run: %i128_sextend_i8(0x7f) == 0x00000000_00000000_00000000_0000007f
|
|
; run: %i128_sextend_i8(0xfe) == 0xffffffff_ffffffff_ffffffff_fffffffe
|