; RUN: llc -mtriple=aarch64-linux-gnu -mattr=+sve < %s | FileCheck %s ; ; LDNT1B ; define @ldnt1b_i8( %pred, * %addr) { ; CHECK-LABEL: ldnt1b_i8: ; CHECK: ldnt1b { z0.b }, p0/z, [x0] ; CHECK-NEXT: ret %res = call @llvm.aarch64.sve.ldnt1.nxv16i8( %pred, * %addr) ret %res } ; ; LDNT1H ; define @ldnt1h_i16( %pred, * %addr) { ; CHECK-LABEL: ldnt1h_i16: ; CHECK: ldnt1h { z0.h }, p0/z, [x0] ; CHECK-NEXT: ret %res = call @llvm.aarch64.sve.ldnt1.nxv8i16( %pred, * %addr) ret %res } define @ldnt1h_f16( %pred, * %addr) { ; CHECK-LABEL: ldnt1h_f16: ; CHECK: ldnt1h { z0.h }, p0/z, [x0] ; CHECK-NEXT: ret %res = call @llvm.aarch64.sve.ldnt1.nxv8f16( %pred, * %addr) ret %res } ; ; LDNT1W ; define @ldnt1w_i32( %pred, * %addr) { ; CHECK-LABEL: ldnt1w_i32: ; CHECK: ldnt1w { z0.s }, p0/z, [x0] ; CHECK-NEXT: ret %res = call @llvm.aarch64.sve.ldnt1.nxv4i32( %pred, * %addr) ret %res } define @ldnt1w_f32( %pred, * %addr) { ; CHECK-LABEL: ldnt1w_f32: ; CHECK: ldnt1w { z0.s }, p0/z, [x0] ; CHECK-NEXT: ret %res = call @llvm.aarch64.sve.ldnt1.nxv4f32( %pred, * %addr) ret %res } ; ; LDNT1D ; define @ldnt1d_i64( %pred, * %addr) { ; CHECK-LABEL: ldnt1d_i64: ; CHECK: ldnt1d { z0.d }, p0/z, [x0] ; CHECK-NEXT: ret %res = call @llvm.aarch64.sve.ldnt1.nxv2i64( %pred, * %addr) ret %res } define @ldnt1d_f64( %pred, * %addr) { ; CHECK-LABEL: ldnt1d_f64: ; CHECK: ldnt1d { z0.d }, p0/z, [x0] ; CHECK-NEXT: ret %res = call @llvm.aarch64.sve.ldnt1.nxv2f64( %pred, * %addr) ret %res } declare @llvm.aarch64.sve.ldnt1.nxv16i8(, *) declare @llvm.aarch64.sve.ldnt1.nxv8i16(, *) declare @llvm.aarch64.sve.ldnt1.nxv4i32(, *) declare @llvm.aarch64.sve.ldnt1.nxv2i64(, *) declare @llvm.aarch64.sve.ldnt1.nxv8f16(, *) declare @llvm.aarch64.sve.ldnt1.nxv4f32(, *) declare @llvm.aarch64.sve.ldnt1.nxv2f64(, *)