]>
git.ipfire.org Git - thirdparty/gcc.git/blob - gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/addhnt_s32.c
1 /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" } } */
3 #include "test_sve_acle.h"
7 ** addhnt z0\.h, (z4\.s, z5\.s|z5\.s, z4\.s)
10 TEST_DUAL_Z (addhnt_s32_tied1
, svint16_t
, svint32_t
,
11 z0
= svaddhnt_s32 (z0
, z4
, z5
),
12 z0
= svaddhnt (z0
, z4
, z5
))
14 /* Bad RA choice: no preferred output sequence. */
15 TEST_DUAL_Z_REV (addhnt_s32_tied2
, svint16_t
, svint32_t
,
16 z0_res
= svaddhnt_s32 (z4
, z0
, z1
),
17 z0_res
= svaddhnt (z4
, z0
, z1
))
19 /* Bad RA choice: no preferred output sequence. */
20 TEST_DUAL_Z_REV (addhnt_s32_tied3
, svint16_t
, svint32_t
,
21 z0_res
= svaddhnt_s32 (z4
, z1
, z0
),
22 z0_res
= svaddhnt (z4
, z1
, z0
))
28 ** addhnt z0\.h, (z4\.s, z5\.s|z5\.s, z4\.s)
30 ** addhnt z1\.h, (z4\.s, z5\.s|z5\.s, z4\.s)
35 TEST_DUAL_Z (addhnt_s32_untied
, svint16_t
, svint32_t
,
36 z0
= svaddhnt_s32 (z1
, z4
, z5
),
37 z0
= svaddhnt (z1
, z4
, z5
))
40 ** addhnt_w0_s32_tied1:
41 ** mov (z[0-9]+\.s), w0
42 ** addhnt z0\.h, (z4\.s, \1|\1, z4\.s)
45 TEST_DUAL_ZX (addhnt_w0_s32_tied1
, svint16_t
, svint32_t
, int32_t,
46 z0
= svaddhnt_n_s32 (z0
, z4
, x0
),
47 z0
= svaddhnt (z0
, z4
, x0
))
50 ** addhnt_w0_s32_untied:
51 ** mov (z[0-9]+\.s), w0
54 ** addhnt z0\.h, (z4\.s, \1|\1, z4\.s)
56 ** addhnt z1\.h, (z4\.s, \1|\1, z4\.s)
61 TEST_DUAL_ZX (addhnt_w0_s32_untied
, svint16_t
, svint32_t
, int32_t,
62 z0
= svaddhnt_n_s32 (z1
, z4
, x0
),
63 z0
= svaddhnt (z1
, z4
, x0
))
66 ** addhnt_11_s32_tied1:
67 ** mov (z[0-9]+\.s), #11
68 ** addhnt z0\.h, (z4\.s, \1|\1, z4\.s)
71 TEST_DUAL_Z (addhnt_11_s32_tied1
, svint16_t
, svint32_t
,
72 z0
= svaddhnt_n_s32 (z0
, z4
, 11),
73 z0
= svaddhnt (z0
, z4
, 11))
76 ** addhnt_11_s32_untied:
77 ** mov (z[0-9]+\.s), #11
80 ** addhnt z0\.h, (z4\.s, \1|\1, z4\.s)
82 ** addhnt z1\.h, (z4\.s, \1|\1, z4\.s)
87 TEST_DUAL_Z (addhnt_11_s32_untied
, svint16_t
, svint32_t
,
88 z0
= svaddhnt_n_s32 (z1
, z4
, 11),
89 z0
= svaddhnt (z1
, z4
, 11))