Merge pull request #3011 from cfallin/bint-x64
Fix `bint` on x64, and make `bextend` consistent with bool representation.
This commit is contained in:
37
cranelift/filetests/filetests/runtests/bint.clif
Normal file
37
cranelift/filetests/filetests/runtests/bint.clif
Normal file
@@ -0,0 +1,37 @@
|
||||
test run
|
||||
target aarch64
|
||||
target x86_64 machinst
|
||||
|
||||
function %bint_b8_i16_true() -> i16 {
|
||||
block0:
|
||||
v0 = bconst.b8 true
|
||||
v1 = bint.i16 v0
|
||||
return v1
|
||||
}
|
||||
; run: %bint_b8_i16_true() == 1
|
||||
|
||||
|
||||
function %bint_b16_i16_true() -> i16 {
|
||||
block0:
|
||||
v0 = bconst.b16 true
|
||||
v1 = bint.i16 v0
|
||||
return v1
|
||||
}
|
||||
; run: %bint_b16_i16_true() == 1
|
||||
|
||||
function %bint_b8_i16_false() -> i16 {
|
||||
block0:
|
||||
v0 = bconst.b8 false
|
||||
v1 = bint.i16 v0
|
||||
return v1
|
||||
}
|
||||
; run: %bint_b8_i16_false() == 0
|
||||
|
||||
|
||||
function %bint_b16_i16_false() -> i16 {
|
||||
block0:
|
||||
v0 = bconst.b16 false
|
||||
v1 = bint.i16 v0
|
||||
return v1
|
||||
}
|
||||
; run: %bint_b16_i16_false() == 0
|
||||
11
cranelift/filetests/filetests/runtests/i128-bint.clif
Normal file
11
cranelift/filetests/filetests/runtests/i128-bint.clif
Normal file
@@ -0,0 +1,11 @@
|
||||
test run
|
||||
target x86_64 machinst
|
||||
|
||||
function %bint_b8_i128() -> i64, i64 {
|
||||
block0:
|
||||
v0 = bconst.b8 true
|
||||
v1 = bint.i128 v0
|
||||
v2, v3 = isplit.i128 v1
|
||||
return v2, v3
|
||||
}
|
||||
; run: %bint_b8_i128() == [1, 0]
|
||||
Reference in New Issue
Block a user