Add x86 SIMD band_not

This commit is contained in:
Andrew Brown
2019-10-08 20:32:52 -07:00
parent fad6bb1a5c
commit 8f74333662
4 changed files with 36 additions and 0 deletions

View File

@@ -19,3 +19,9 @@ ebb0(v0: b32x4 [%xmm4], v1: b32x4 [%xmm0]):
[-, %xmm4] v2 = bxor v0, v1 ; bin: 66 0f ef e0
return v2
}
function %band_not_b64x2(b64x2, b64x2) -> b64x2 {
ebb0(v0: b64x2 [%xmm6], v1: b64x2 [%xmm3]):
[-, %xmm3] v2 = band_not v0, v1 ; bin: 66 0f df de
return v2
}

View File

@@ -0,0 +1,23 @@
test run
set enable_simd
target x86_64 skylake
function %bnot() -> b32 {
ebb0:
v0 = vconst.b32x4 [true true true false]
v1 = bnot v0
v2 = extractlane v1, 3
return v2
}
; run
function %band_not() -> b1 {
ebb0:
v0 = vconst.i16x8 [1 0 0 0 0 0 0 0]
v1 = vconst.i16x8 [0 0 0 0 0 0 0 0]
v2 = band_not v0, v1
v3 = extractlane v2, 0
v4 = icmp_imm eq v3, 1
return v4
}
; run