Files
wasmtime/cranelift/filetests/filetests/isa/aarch64/simd-valltrue.clif
Trevor Elliott b077854b57 Generate SSA code from returns (#5172)
Modify return pseudo-instructions to have pairs of registers: virtual and real. This allows us to constrain the virtual registers to the real ones specified by the abi, instead of directly emitting moves to those real registers.
2022-11-08 16:00:49 -08:00

96 lines
1.3 KiB
Plaintext

test compile precise-output
set unwind_info=false
target aarch64
function %fn0(i8x8) -> i8 {
block0(v0: i8x8):
v1 = vall_true v0
return v1
}
; block0:
; uminv b2, v0.8b
; mov x4, v2.d[0]
; subs xzr, x4, #0
; cset x0, ne
; ret
function %fn1(i8x16) -> i8 {
block0(v0: i8x16):
v1 = vall_true v0
return v1
}
; block0:
; uminv b2, v0.16b
; mov x4, v2.d[0]
; subs xzr, x4, #0
; cset x0, ne
; ret
function %fn2(i16x4) -> i8 {
block0(v0: i16x4):
v1 = vall_true v0
return v1
}
; block0:
; uminv h2, v0.4h
; mov x4, v2.d[0]
; subs xzr, x4, #0
; cset x0, ne
; ret
function %fn3(i16x8) -> i8 {
block0(v0: i16x8):
v1 = vall_true v0
return v1
}
; block0:
; uminv h2, v0.8h
; mov x4, v2.d[0]
; subs xzr, x4, #0
; cset x0, ne
; ret
function %fn4(i32x2) -> i8 {
block0(v0: i32x2):
v1 = vall_true v0
return v1
}
; block0:
; mov x2, v0.d[0]
; subs xzr, xzr, x2, LSR 32
; ccmp w2, #0, #nZcv, ne
; cset x0, ne
; ret
function %fn5(i32x4) -> i8 {
block0(v0: i32x4):
v1 = vall_true v0
return v1
}
; block0:
; uminv s2, v0.4s
; mov x4, v2.d[0]
; subs xzr, x4, #0
; cset x0, ne
; ret
function %fn6(i64x2) -> i8 {
block0(v0: i64x2):
v1 = vall_true v0
return v1
}
; block0:
; cmeq v2.2d, v0.2d, #0
; addp v4.2d, v2.2d, v2.2d
; fcmp d4, d4
; cset x0, eq
; ret