49 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc -mtriple=aarch64-linux-gnu -mattr=+sve < %s | FileCheck %s3; RUN: llc -mtriple=aarch64-linux-gnu -mattr=+sme -force-streaming < %s | FileCheck %s4 5;6; PTRUE7;8 9define <vscale x 16 x i1> @ptrue_b8() {10; CHECK-LABEL: ptrue_b8:11; CHECK: // %bb.0:12; CHECK-NEXT: ptrue p0.b, pow213; CHECK-NEXT: ret14 %out = call <vscale x 16 x i1> @llvm.aarch64.sve.ptrue.nxv16i1(i32 0)15 ret <vscale x 16 x i1> %out16}17 18define <vscale x 8 x i1> @ptrue_b16() {19; CHECK-LABEL: ptrue_b16:20; CHECK: // %bb.0:21; CHECK-NEXT: ptrue p0.h, vl122; CHECK-NEXT: ret23 %out = call <vscale x 8 x i1> @llvm.aarch64.sve.ptrue.nxv8i1(i32 1)24 ret <vscale x 8 x i1> %out25}26 27define <vscale x 4 x i1> @ptrue_b32() {28; CHECK-LABEL: ptrue_b32:29; CHECK: // %bb.0:30; CHECK-NEXT: ptrue p0.s, mul331; CHECK-NEXT: ret32 %out = call <vscale x 4 x i1> @llvm.aarch64.sve.ptrue.nxv4i1(i32 30)33 ret <vscale x 4 x i1> %out34}35 36define <vscale x 2 x i1> @ptrue_b64() {37; CHECK-LABEL: ptrue_b64:38; CHECK: // %bb.0:39; CHECK-NEXT: ptrue p0.d40; CHECK-NEXT: ret41 %out = call <vscale x 2 x i1> @llvm.aarch64.sve.ptrue.nxv2i1(i32 31)42 ret <vscale x 2 x i1> %out43}44 45declare <vscale x 16 x i1> @llvm.aarch64.sve.ptrue.nxv16i1(i32 %pattern)46declare <vscale x 8 x i1> @llvm.aarch64.sve.ptrue.nxv8i1(i32 %pattern)47declare <vscale x 4 x i1> @llvm.aarch64.sve.ptrue.nxv4i1(i32 %pattern)48declare <vscale x 2 x i1> @llvm.aarch64.sve.ptrue.nxv2i1(i32 %pattern)49