; RUN: llc -mtriple=aarch64-linux-gnu -mattr=+sve < %s 2>%t | FileCheck %s ; RUN: FileCheck --check-prefix=WARN --allow-empty %s <%t ; If this check fails please read test/CodeGen/AArch64/README for instructions on how to resolve it. ; WARN-NOT: warning ; Integer vector select define @sel_nxv16i8( %p, %dst, %a) { ; CHECK-LABEL: sel_nxv16i8: ; CHECK: mov z0.b, p0/m, z1.b ; CHECK-NEXT: ret %sel = select %p, %a, %dst ret %sel } define @sel_nxv8i16( %p, %dst, %a) { ; CHECK-LABEL: sel_nxv8i16: ; CHECK: mov z0.h, p0/m, z1.h ; CHECK-NEXT: ret %sel = select %p, %a, %dst ret %sel } define @sel_nxv4i32( %p, %dst, %a) { ; CHECK-LABEL: sel_nxv4i32: ; CHECK: mov z0.s, p0/m, z1.s ; CHECK-NEXT: ret %sel = select %p, %a, %dst ret %sel } define @sel_nxv2i64( %p, %dst, %a) { ; CHECK-LABEL: sel_nxv2i64: ; CHECK: mov z0.d, p0/m, z1.d ; CHECK-NEXT: ret %sel = select %p, %a, %dst ret %sel } ; Floating point vector select define @sel_nxv8f16( %p, %dst, %a) { ; CHECK-LABEL: sel_nxv8f16: ; CHECK: mov z0.h, p0/m, z1.h ; CHECK-NEXT: ret %sel = select %p, %a, %dst ret %sel } define @sel_nxv4f32( %p, %dst, %a) { ; CHECK-LABEL: sel_nxv4f32: ; CHECK: mov z0.s, p0/m, z1.s ; CHECK-NEXT: ret %sel = select %p, %a, %dst ret %sel } define @sel_nxv2f32( %p, %dst, %a) { ; CHECK-LABEL: sel_nxv2f32: ; CHECK: mov z0.d, p0/m, z1.d ; CHECK-NEXT: ret %sel = select %p, %a, %dst ret %sel } define @sel_nxv8f64( %p, %dst, %a) { ; CHECK-LABEL: sel_nxv8f64: ; CHECK: mov z0.d, p0/m, z1.d ; CHECK-NEXT: ret %sel = select %p, %a, %dst ret %sel }