Add encodings for i8 and i16 copy, spill, fill, ireduce.i8.i16 (#534)

* Add encodings for i8 and i16 copy, spill, fill, ireduce.i8.i16

Also adds legalization for srem, irsub_imm, {u,s}extend.i16.i8

Fixes #477 cc #466

* Legalize popcnt, clz and ctz for i8 and i16

* Fix bug in call_memset
This commit is contained in:
bjorn3
2018-10-03 23:43:59 +02:00
committed by Dan Gohman
parent ddf8fd23b5
commit b2a28d69e6
8 changed files with 139 additions and 12 deletions

View File

@@ -0,0 +1,13 @@
test compile
target x86_64
function u0:0(i8) -> i8 fast {
ebb0(v0: i8):
v1 = iconst.i8 0
v2 = isub v1, v0
; check: v4 = uextend.i32 v0
; nextln: v6 = iconst.i32 0
; nextln = isub v6, v4
; nextln = ireduce.i8 v5
return v2
}