Add x86 pack instructions

This commit is contained in:
Andrew Brown
2020-03-25 10:16:07 -07:00
parent 341dc45cea
commit fb6e8f784d
6 changed files with 63 additions and 2 deletions

View File

@@ -109,3 +109,9 @@ block0(v0: i32x4 [%xmm7], v1: i32x4 [%xmm6]):
[-, %xmm7] v2 = x86_punpckl v0, v1 ; bin: 66 0f 62 fe
return
}
function %packss_i16x8(i16x8, i16x8) {
block0(v0: i16x8 [%xmm7], v1: i16x8 [%xmm8]):
[-, %xmm7] v2 = x86_packss v0, v1 ; bin: 66 41 0f 63 f8
return
}

View File

@@ -205,3 +205,16 @@ block0:
return v5
}
; run
function %pack() -> b1 {
block0:
v0 = vconst.i32x4 [0 1 -1 0x0001ffff]
v1 = vconst.i32x4 [4 5 -6 0xffffffff]
v2 = x86_packss v0, v1
v3 = vconst.i16x8 [0 1 -1 0x7fff 4 5 -6 0xffff]
v4 = icmp eq v2, v3
v5 = vall_true v4
return v5
}
; run