cranelift: Use bool args in simd tests
This commit is contained in:
@@ -3,67 +3,41 @@ test run
|
|||||||
target aarch64
|
target aarch64
|
||||||
target x86_64 machinst
|
target x86_64 machinst
|
||||||
|
|
||||||
; TODO: Refactor this once we support simd bools in the trampoline
|
function %vall_true_b8x16(b8x16) -> b1 {
|
||||||
|
block0(v0: b8x16):
|
||||||
function %vall_true_b8x16() -> b1, b1, b1 {
|
|
||||||
block0:
|
|
||||||
v0 = vconst.b8x16 [false false false false false false false false false false false false false false false false]
|
|
||||||
v1 = vall_true v0
|
v1 = vall_true v0
|
||||||
|
return v1
|
||||||
v2 = vconst.b8x16 [true false false false false false false false false false false false false false false false]
|
|
||||||
v3 = vall_true v2
|
|
||||||
|
|
||||||
v4 = vconst.b8x16 [true true true true true true true true true true true true true true true true]
|
|
||||||
v5 = vall_true v4
|
|
||||||
|
|
||||||
return v1, v3, v5
|
|
||||||
}
|
}
|
||||||
; run: %vall_true_b8x16() == [false, false, true]
|
; run: %vall_true_b8x16([false false false false false false false false false false false false false false false false]) == false
|
||||||
|
; run: %vall_true_b8x16([true false false false false false false false false false false false false false false false]) == false
|
||||||
|
; run: %vall_true_b8x16([true true true true true true true true true true true true true true true true]) == true
|
||||||
|
|
||||||
|
|
||||||
function %vall_true_b16x8() -> b1, b1, b1 {
|
function %vall_true_b16x8(b16x8) -> b1 {
|
||||||
block0:
|
block0(v0: b16x8):
|
||||||
v0 = vconst.b16x8 [false false false false false false false false]
|
|
||||||
v1 = vall_true v0
|
v1 = vall_true v0
|
||||||
|
return v1
|
||||||
v2 = vconst.b16x8 [true false false false false false false false]
|
|
||||||
v3 = vall_true v2
|
|
||||||
|
|
||||||
v4 = vconst.b16x8 [true true true true true true true true]
|
|
||||||
v5 = vall_true v4
|
|
||||||
|
|
||||||
return v1, v3, v5
|
|
||||||
}
|
}
|
||||||
; run: %vall_true_b16x8() == [false, false, true]
|
; run: %vall_true_b16x8([false false false false false false false false]) == false
|
||||||
|
; run: %vall_true_b16x8([true false false false false false false false]) == false
|
||||||
|
; run: %vall_true_b16x8([true true true true true true true true]) == true
|
||||||
|
|
||||||
|
|
||||||
function %vall_true_b32x4() -> b1, b1, b1 {
|
function %vall_true_b32x4(b32x4) -> b1 {
|
||||||
block0:
|
block0(v0: b32x4):
|
||||||
v0 = vconst.b32x4 [false false false false]
|
|
||||||
v1 = vall_true v0
|
v1 = vall_true v0
|
||||||
|
return v1
|
||||||
v2 = vconst.b32x4 [true false false false]
|
|
||||||
v3 = vall_true v2
|
|
||||||
|
|
||||||
v4 = vconst.b32x4 [true true true true]
|
|
||||||
v5 = vall_true v4
|
|
||||||
|
|
||||||
return v1, v3, v5
|
|
||||||
}
|
}
|
||||||
; run: %vall_true_b32x4() == [false, false, true]
|
; run: %vall_true_b32x4([false false false false]) == false
|
||||||
|
; run: %vall_true_b32x4([true false false false]) == false
|
||||||
|
; run: %vall_true_b32x4([true true true true]) == true
|
||||||
|
|
||||||
|
|
||||||
function %vall_true_b64x2() -> b1, b1, b1 {
|
function %vall_true_b64x2(b64x2) -> b1 {
|
||||||
block0:
|
block0(v0: b64x2):
|
||||||
v0 = vconst.b64x2 [false false]
|
|
||||||
v1 = vall_true v0
|
v1 = vall_true v0
|
||||||
|
return v1
|
||||||
v2 = vconst.b64x2 [true false]
|
|
||||||
v3 = vall_true v2
|
|
||||||
|
|
||||||
v4 = vconst.b64x2 [true true]
|
|
||||||
v5 = vall_true v4
|
|
||||||
|
|
||||||
return v1, v3, v5
|
|
||||||
}
|
}
|
||||||
; run: %vall_true_b64x2() == [false, false, true]
|
; run: %vall_true_b64x2([false false]) == false
|
||||||
|
; run: %vall_true_b64x2([true false]) == false
|
||||||
|
; run: %vall_true_b64x2([true true]) == true
|
||||||
|
|||||||
@@ -3,67 +3,41 @@ test run
|
|||||||
target x86_64 machinst
|
target x86_64 machinst
|
||||||
; TODO: The AArch64 backend is producing an illegal instruction for b64x2. See: #3304
|
; TODO: The AArch64 backend is producing an illegal instruction for b64x2. See: #3304
|
||||||
|
|
||||||
; TODO: Refactor this once we support simd bools in the trampoline
|
function %vany_true_b8x16(b8x16) -> b1 {
|
||||||
|
block0(v0: b8x16):
|
||||||
function %vany_true_b8x16() -> b1, b1, b1 {
|
|
||||||
block0:
|
|
||||||
v0 = vconst.b8x16 [false false false false false false false false false false false false false false false false]
|
|
||||||
v1 = vany_true v0
|
v1 = vany_true v0
|
||||||
|
return v1
|
||||||
v2 = vconst.b8x16 [true false false false false false false false false false false false false false false false]
|
|
||||||
v3 = vany_true v2
|
|
||||||
|
|
||||||
v4 = vconst.b8x16 [true true true true true true true true true true true true true true true true]
|
|
||||||
v5 = vany_true v4
|
|
||||||
|
|
||||||
return v1, v3, v5
|
|
||||||
}
|
}
|
||||||
; run: %vany_true_b8x16() == [false, true, true]
|
; run: %vany_true_b8x16([false false false false false false false false false false false false false false false false]) == false
|
||||||
|
; run: %vany_true_b8x16([true false false false false false false false false false false false false false false false]) == true
|
||||||
|
; run: %vany_true_b8x16([true true true true true true true true true true true true true true true true]) == true
|
||||||
|
|
||||||
|
|
||||||
function %vany_true_b16x8() -> b1, b1, b1 {
|
function %vany_true_b16x8(b16x8) -> b1 {
|
||||||
block0:
|
block0(v0: b16x8):
|
||||||
v0 = vconst.b16x8 [false false false false false false false false]
|
|
||||||
v1 = vany_true v0
|
v1 = vany_true v0
|
||||||
|
return v1
|
||||||
v2 = vconst.b16x8 [true false false false false false false false]
|
|
||||||
v3 = vany_true v2
|
|
||||||
|
|
||||||
v4 = vconst.b16x8 [true true true true true true true true]
|
|
||||||
v5 = vany_true v4
|
|
||||||
|
|
||||||
return v1, v3, v5
|
|
||||||
}
|
}
|
||||||
; run: %vany_true_b16x8() == [false, true, true]
|
; run: %vany_true_b16x8([false false false false false false false false]) == false
|
||||||
|
; run: %vany_true_b16x8([true false false false false false false false]) == true
|
||||||
|
; run: %vany_true_b16x8([true true true true true true true true]) == true
|
||||||
|
|
||||||
|
|
||||||
function %vany_true_b32x4() -> b1, b1, b1 {
|
function %vany_true_b32x4(b32x4) -> b1 {
|
||||||
block0:
|
block0(v0: b32x4):
|
||||||
v0 = vconst.b32x4 [false false false false]
|
|
||||||
v1 = vany_true v0
|
v1 = vany_true v0
|
||||||
|
return v1
|
||||||
v2 = vconst.b32x4 [true false false false]
|
|
||||||
v3 = vany_true v2
|
|
||||||
|
|
||||||
v4 = vconst.b32x4 [true true true true]
|
|
||||||
v5 = vany_true v4
|
|
||||||
|
|
||||||
return v1, v3, v5
|
|
||||||
}
|
}
|
||||||
; run: %vany_true_b32x4() == [false, true, true]
|
; run: %vany_true_b32x4([false false false false]) == false
|
||||||
|
; run: %vany_true_b32x4([true false false false]) == true
|
||||||
|
; run: %vany_true_b32x4([true true true true]) == true
|
||||||
|
|
||||||
|
|
||||||
function %vany_true_b64x2() -> b1, b1, b1 {
|
function %vany_true_b64x2(b64x2) -> b1 {
|
||||||
block0:
|
block0(v0: b64x2):
|
||||||
v0 = vconst.b64x2 [false false]
|
|
||||||
v1 = vany_true v0
|
v1 = vany_true v0
|
||||||
|
return v1
|
||||||
v2 = vconst.b64x2 [true false]
|
|
||||||
v3 = vany_true v2
|
|
||||||
|
|
||||||
v4 = vconst.b64x2 [true true]
|
|
||||||
v5 = vany_true v4
|
|
||||||
|
|
||||||
return v1, v3, v5
|
|
||||||
}
|
}
|
||||||
; run: %vany_true_b64x2() == [false, true, true]
|
; run: %vany_true_b64x2([false false]) == false
|
||||||
|
; run: %vany_true_b64x2([true false]) == true
|
||||||
|
; run: %vany_true_b64x2([true true]) == true
|
||||||
|
|||||||
Reference in New Issue
Block a user