blob: c164c01a9443d03182161a521e1c572a9a6b0e09 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
/* { dg-do compile } */
/* { dg-options "-O -msve-vector-bits=128 -g" } */
/* { dg-final { check-function-bodies "**" "" "" { target { aarch64_little_endian && lp64 } } } } */
/*
** callee_pred:
** ldr p0, \[x0\]
** ret
*/
__SVBool_t __attribute__((noipa))
callee_pred (__SVBool_t *ptr)
{
return *ptr;
}
#include <arm_sve.h>
/*
** caller_pred:
** ...
** bl callee_pred
** cntp x0, p0, p0.b
** ldp x29, x30, \[sp\], 16
** ret
*/
uint64_t __attribute__((noipa))
caller_pred (__SVBool_t *ptr1)
{
__SVBool_t p = callee_pred (ptr1);
return svcntp_b8 (p, p);
}
|