1 /* { dg-do run { target aarch64_sve_hw } } */
2 /* { dg-options "-O2" } */
6 svint8_t
__attribute__ ((noipa
))
7 make_s8 (int8_t x0
, int8_t x1
, int8_t x2
, int8_t x3
,
8 int8_t x4
, int8_t x5
, int8_t x6
, int8_t x7
,
9 int8_t x8
, int8_t x9
, int8_t xa
, int8_t xb
,
10 int8_t xc
, int8_t xd
, int8_t xe
, int8_t xf
)
12 return svdupq_s8 (x0
, x1
, x2
, x3
, x4
, x5
, x6
, x7
,
13 x8
, x9
, xa
, xb
, xc
, xd
, xe
, xf
);
16 svint16_t
__attribute__ ((noipa
))
17 make_s16 (int16_t x0
, int16_t x1
, int16_t x2
, int16_t x3
,
18 int16_t x4
, int16_t x5
, int16_t x6
, int16_t x7
)
20 return svdupq_s16 (x0
, x1
, x2
, x3
, x4
, x5
, x6
, x7
);
23 svint32_t
__attribute__ ((noipa
))
24 make_s32 (int32_t x0
, int32_t x1
, int32_t x2
, int32_t x3
)
26 return svdupq_s32 (x0
, x1
, x2
, x3
);
29 svint64_t
__attribute__ ((noipa
))
30 make_s64 (int64_t x0
, int64_t x1
)
32 return svdupq_s64 (x0
, x1
);
35 int8_t a
[16] = { 1, -44, 91, -24, 101, -55, 77, 83,
36 -30, 69, 121, -128, -1, 13, 127, 26 };
37 int16_t b
[8] = { -716, -10288, 30604, -19258, -9418, -10435, -16001, 7300 };
38 int32_t c
[4] = { 1268374995, -1023602831, -891830021, -1793452959 };
39 int64_t d
[2] = { 0x123456789abcdefLL
, -0x123456789abcdefLL
};
44 svbool_t pg
= svptrue_pat_b8 (SV_VL16
);
45 svint8_t s8
= make_s8 (a
[0], a
[1], a
[2], a
[3],
46 a
[4], a
[5], a
[6], a
[7],
47 a
[8], a
[9], a
[10], a
[11],
48 a
[12], a
[13], a
[14], a
[15]);
49 if (svptest_any (svptrue_b8 (), svcmpne (pg
, s8
, svld1 (pg
, a
))))
52 svint16_t s16
= make_s16 (b
[0], b
[1], b
[2], b
[3],
53 b
[4], b
[5], b
[6], b
[7]);
54 if (svptest_any (svptrue_b8 (), svcmpne (pg
, s16
, svld1 (pg
, b
))))
57 svint32_t s32
= make_s32 (c
[0], c
[1], c
[2], c
[3]);
58 if (svptest_any (svptrue_b8 (), svcmpne (pg
, s32
, svld1 (pg
, c
))))
61 svint64_t s64
= make_s64 (d
[0], d
[1]);
62 if (svptest_any (svptrue_b8 (), svcmpne (pg
, s64
, svld1 (pg
, d
))))