1 ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
2 ; RUN: llc -mtriple=aarch64-linux-gnu -mattr=+sve < %s | FileCheck %s
3 ; RUN: llc -mtriple=aarch64-linux-gnu -mattr=+sme < %s | FileCheck %s
9 define i1 @ptest_any(<vscale x 16 x i1> %pg, <vscale x 16 x i1> %a) {
10 ; CHECK-LABEL: ptest_any:
12 ; CHECK-NEXT: ptest p0, p1.b
13 ; CHECK-NEXT: cset w0, ne
15 %out = call i1 @llvm.aarch64.sve.ptest.any(<vscale x 16 x i1> %pg, <vscale x 16 x i1> %a)
19 define i1 @ptest_first(<vscale x 16 x i1> %pg, <vscale x 16 x i1> %a) {
20 ; CHECK-LABEL: ptest_first:
22 ; CHECK-NEXT: ptest p0, p1.b
23 ; CHECK-NEXT: cset w0, mi
25 %out = call i1 @llvm.aarch64.sve.ptest.first(<vscale x 16 x i1> %pg, <vscale x 16 x i1> %a)
29 define i1 @ptest_last(<vscale x 16 x i1> %pg, <vscale x 16 x i1> %a) {
30 ; CHECK-LABEL: ptest_last:
32 ; CHECK-NEXT: ptest p0, p1.b
33 ; CHECK-NEXT: cset w0, lo
35 %out = call i1 @llvm.aarch64.sve.ptest.last(<vscale x 16 x i1> %pg, <vscale x 16 x i1> %a)
39 declare i1 @llvm.aarch64.sve.ptest.any(<vscale x 16 x i1> %pg, <vscale x 16 x i1> %a)
40 declare i1 @llvm.aarch64.sve.ptest.first(<vscale x 16 x i1> %pg, <vscale x 16 x i1> %a)
41 declare i1 @llvm.aarch64.sve.ptest.last(<vscale x 16 x i1> %pg, <vscale x 16 x i1> %a)