Add x86 encoding for isub

This commit is contained in:
Andrew Brown
2019-09-17 13:38:52 -07:00
parent 4e3cb25983
commit ca1df499a0
4 changed files with 59 additions and 4 deletions

View File

@@ -48,3 +48,40 @@ ebb0(v0: i64x2 [%xmm3], v1: i64x2 [%xmm4]):
[-, %xmm3] v2 = iadd v0, v1 ; bin: 66 0f d4 dc
return v2
}
function %isub_i32x4() -> b1 {
ebb0:
[-, %xmm3] v0 = vconst.i32x4 [1 1 1 1]
[-, %xmm5] v1 = vconst.i32x4 [1 2 3 4]
[-, %xmm3] v2 = isub v0, v1 ; bin: 66 0f fa dd
v3 = extractlane v2, 0
v4 = icmp_imm eq v3, 0
v5 = extractlane v2, 1
v6 = icmp_imm eq v5, 0xffffffff
; TODO replace extractlanes with vector comparison
v7 = band v4, v6
return v7
}
; run
function %isub_i64x2(i64x2, i64x2) -> i64x2 {
ebb0(v0: i64x2 [%xmm0], v1: i64x2 [%xmm1]):
[-, %xmm0] v2 = isub v0, v1 ; bin: 66 0f fb c1
return v2
}
function %isub_i16x8(i16x8, i16x8) -> i16x8 {
ebb0(v0: i16x8 [%xmm3], v1: i16x8 [%xmm4]):
[-, %xmm3] v2 = isub v0, v1 ; bin: 66 0f f9 dc
return v2
}
function %isub_i8x16(i8x16, i8x16) -> i8x16 {
ebb0(v0: i8x16 [%xmm3], v1: i8x16 [%xmm4]):
[-, %xmm3] v2 = isub v0, v1 ; bin: 66 0f f8 dc
return v2
}