xref: /llvm-project/llvm/test/CodeGen/AArch64/sve-ptest-removal-ptrue.ll (revision 1e02a29e4753ef70d7ce0ad90b7e4f29f1223006)
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
2; RUN: llc -mtriple=aarch64--linux-gnu -mattr=+sve %s -o - | FileCheck %s
3
4define i1 @ptrue() {
5; CHECK-LABEL: ptrue:
6; CHECK:       // %bb.0:
7; CHECK-NEXT:    ptrues p0.b, pow2
8; CHECK-NEXT:    cset w0, ne
9; CHECK-NEXT:    ret
10  %1 = tail call <vscale x 16 x i1> @llvm.aarch64.sve.ptrue.nxv16i1(i32 0)
11  %2 = tail call i1 @llvm.aarch64.sve.ptest.any.nxv16i1(<vscale x 16 x i1> %1, <vscale x 16 x i1> %1)
12  ret i1 %2
13}
14
15declare i1 @llvm.aarch64.sve.ptest.any.nxv16i1(<vscale x 16 x i1>, <vscale x 16 x i1>)
16declare <vscale x 16 x i1> @llvm.aarch64.sve.ptrue.nxv16i1(i32 %pattern)
17