[clang][modules] Don't prevent translation of FW_Private includes when explicitly...
[llvm-project.git] / llvm / test / CodeGen / AArch64 / sve-intrinsics-pred-testing.ll
blobd38d3e3f01981c2c365f395b8776d54774ce9097
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
6 ; PTEST
9 define i1 @ptest_any(<vscale x 16 x i1> %pg, <vscale x 16 x i1> %a) {
10 ; CHECK-LABEL: ptest_any:
11 ; CHECK:       // %bb.0:
12 ; CHECK-NEXT:    ptest p0, p1.b
13 ; CHECK-NEXT:    cset w0, ne
14 ; CHECK-NEXT:    ret
15   %out = call i1 @llvm.aarch64.sve.ptest.any(<vscale x 16 x i1> %pg, <vscale x 16 x i1> %a)
16   ret i1 %out
19 define i1 @ptest_first(<vscale x 16 x i1> %pg, <vscale x 16 x i1> %a) {
20 ; CHECK-LABEL: ptest_first:
21 ; CHECK:       // %bb.0:
22 ; CHECK-NEXT:    ptest p0, p1.b
23 ; CHECK-NEXT:    cset w0, mi
24 ; CHECK-NEXT:    ret
25   %out = call i1 @llvm.aarch64.sve.ptest.first(<vscale x 16 x i1> %pg, <vscale x 16 x i1> %a)
26   ret i1 %out
29 define i1 @ptest_last(<vscale x 16 x i1> %pg, <vscale x 16 x i1> %a) {
30 ; CHECK-LABEL: ptest_last:
31 ; CHECK:       // %bb.0:
32 ; CHECK-NEXT:    ptest p0, p1.b
33 ; CHECK-NEXT:    cset w0, lo
34 ; CHECK-NEXT:    ret
35   %out = call i1 @llvm.aarch64.sve.ptest.last(<vscale x 16 x i1> %pg, <vscale x 16 x i1> %a)
36   ret i1 %out
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)