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:
bjorn3
2018-07-04 15:31:00 +02:00
committed by Dan Gohman
parent dd72b54eef
commit 5db45d26cc
9 changed files with 275 additions and 5 deletions

View 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
}