Files
wasmtime/cranelift/filetests/filetests/runtests/simd-icmp-ne.clif
Trevor Elliott 32a7593c94 cranelift: Remove booleans (#5031)
Remove the boolean types from cranelift, and the associated instructions breduce, bextend, bconst, and bint. Standardize on using 1/0 for the return value from instructions that produce scalar boolean results, and -1/0 for boolean vector elements.

Fixes #3205

Co-authored-by: Afonso Bordado <afonso360@users.noreply.github.com>
Co-authored-by: Ulrich Weigand <ulrich.weigand@de.ibm.com>
Co-authored-by: Chris Fallin <chris@cfallin.org>
2022-10-17 16:00:27 -07:00

31 lines
907 B
Plaintext

test interpret
function %simd_icmp_ne_i8(i8x16, i8x16) -> i8x16 {
block0(v0: i8x16, v1: i8x16):
v2 = icmp ne v0, v1
return v2
}
; run: %simd_icmp_ne_i8([1 0 -1 1 1 1 1 1 1 1 1 1 1 1 1 1], [1 0 -1 0 0 0 0 0 0 0 0 0 0 0 0 0]) == [0 0 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1]
function %simd_icmp_ne_i16(i16x8, i16x8) -> i16x8 {
block0(v0: i16x8, v1: i16x8):
v2 = icmp ne v0, v1
return v2
}
; run: %simd_icmp_ne_i16([1 0 -1 1 1 1 1 1], [1 0 -1 0 0 0 0 0]) == [0 0 0 -1 -1 -1 -1 -1]
function %simd_icmp_ne_i32(i32x4, i32x4) -> i32x4 {
block0(v0: i32x4, v1: i32x4):
v2 = icmp ne v0, v1
return v2
}
; run: %simd_icmp_ne_i32([1 0 -1 1], [1 0 -1 0]) == [0 0 0 -1]
function %simd_icmp_ne_i64(i64x2, i64x2) -> i64x2 {
block0(v0: i64x2, v1: i64x2):
v2 = icmp ne v0, v1
return v2
}
; run: %simd_icmp_ne_i64([10 0], [1 0]) == [-1 0]
; run: %simd_icmp_ne_i64([-1 1], [-1 0]) == [0 -1]