Legalize several i8 insts (#380)
* Legalize several i8 insts
* X86: implement regmove.{i8,i16}
* Legalize bnot
* Remove comments
* Nicer type param binding in legalize.py
* Legalize sdiv_imm.i8
* Hopefully fix mypy error
* Add missing trailing newlines
* Fix tests
This commit is contained in:
36
cranelift/filetests/isa/x86/legalize-regmove-i8.cton
Normal file
36
cranelift/filetests/isa/x86/legalize-regmove-i8.cton
Normal file
@@ -0,0 +1,36 @@
|
||||
test compile
|
||||
|
||||
target x86_64
|
||||
|
||||
function u0:0(i64, i64, i64) system_v {
|
||||
ss0 = explicit_slot 0
|
||||
ss1 = explicit_slot 8
|
||||
ss2 = explicit_slot 8
|
||||
ss3 = explicit_slot 2
|
||||
ss4 = explicit_slot 8
|
||||
sig0 = (i64, i16, i64) system_v
|
||||
fn0 = colocated u0:11 sig0
|
||||
|
||||
ebb0(v0: i64, v1: i64, v2: i64):
|
||||
v3 = stack_addr.i64 ss1
|
||||
store v1, v3
|
||||
v4 = stack_addr.i64 ss2
|
||||
store v2, v4
|
||||
v5 = stack_addr.i64 ss3
|
||||
v6 = stack_addr.i64 ss4
|
||||
jump ebb1
|
||||
|
||||
ebb1:
|
||||
v7 = load.i64 v3
|
||||
v8 = load.i16 v7
|
||||
store v8, v5
|
||||
v9 = load.i64 v4
|
||||
store v9, v6
|
||||
v10 = load.i16 v5
|
||||
v11 = load.i64 v6
|
||||
call fn0(v0, v10, v11)
|
||||
jump ebb2
|
||||
|
||||
ebb2:
|
||||
return
|
||||
}
|
||||
Reference in New Issue
Block a user