]>
git.ipfire.org Git - thirdparty/gcc.git/blob - gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/addhnt_u16.c
1 /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" } } */
3 #include "test_sve_acle.h"
7 ** addhnt z0\.b, (z4\.h, z5\.h|z5\.h, z4\.h)
10 TEST_DUAL_Z (addhnt_u16_tied1
, svuint8_t
, svuint16_t
,
11 z0
= svaddhnt_u16 (z0
, z4
, z5
),
12 z0
= svaddhnt (z0
, z4
, z5
))
14 /* Bad RA choice: no preferred output sequence. */
15 TEST_DUAL_Z_REV (addhnt_u16_tied2
, svuint8_t
, svuint16_t
,
16 z0_res
= svaddhnt_u16 (z4
, z0
, z1
),
17 z0_res
= svaddhnt (z4
, z0
, z1
))
19 /* Bad RA choice: no preferred output sequence. */
20 TEST_DUAL_Z_REV (addhnt_u16_tied3
, svuint8_t
, svuint16_t
,
21 z0_res
= svaddhnt_u16 (z4
, z1
, z0
),
22 z0_res
= svaddhnt (z4
, z1
, z0
))
28 ** addhnt z0\.b, (z4\.h, z5\.h|z5\.h, z4\.h)
30 ** addhnt z1\.b, (z4\.h, z5\.h|z5\.h, z4\.h)
35 TEST_DUAL_Z (addhnt_u16_untied
, svuint8_t
, svuint16_t
,
36 z0
= svaddhnt_u16 (z1
, z4
, z5
),
37 z0
= svaddhnt (z1
, z4
, z5
))
40 ** addhnt_w0_u16_tied1:
41 ** mov (z[0-9]+\.h), w0
42 ** addhnt z0\.b, (z4\.h, \1|\1, z4\.h)
45 TEST_DUAL_ZX (addhnt_w0_u16_tied1
, svuint8_t
, svuint16_t
, uint16_t,
46 z0
= svaddhnt_n_u16 (z0
, z4
, x0
),
47 z0
= svaddhnt (z0
, z4
, x0
))
50 ** addhnt_w0_u16_untied:
51 ** mov (z[0-9]+\.h), w0
54 ** addhnt z0\.b, (z4\.h, \1|\1, z4\.h)
56 ** addhnt z1\.b, (z4\.h, \1|\1, z4\.h)
61 TEST_DUAL_ZX (addhnt_w0_u16_untied
, svuint8_t
, svuint16_t
, uint16_t,
62 z0
= svaddhnt_n_u16 (z1
, z4
, x0
),
63 z0
= svaddhnt (z1
, z4
, x0
))
66 ** addhnt_11_u16_tied1:
67 ** mov (z[0-9]+\.h), #11
68 ** addhnt z0\.b, (z4\.h, \1|\1, z4\.h)
71 TEST_DUAL_Z (addhnt_11_u16_tied1
, svuint8_t
, svuint16_t
,
72 z0
= svaddhnt_n_u16 (z0
, z4
, 11),
73 z0
= svaddhnt (z0
, z4
, 11))
76 ** addhnt_11_u16_untied:
77 ** mov (z[0-9]+\.h), #11
80 ** addhnt z0\.b, (z4\.h, \1|\1, z4\.h)
82 ** addhnt z1\.b, (z4\.h, \1|\1, z4\.h)
87 TEST_DUAL_Z (addhnt_11_u16_untied
, svuint8_t
, svuint16_t
,
88 z0
= svaddhnt_n_u16 (z1
, z4
, 11),
89 z0
= svaddhnt (z1
, z4
, 11))