]>
git.ipfire.org Git - thirdparty/gcc.git/blob - gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/qrdmlsh_s32.c
1 /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" } } */
3 #include "test_sve_acle.h"
7 ** sqrdmlsh z0\.s, z1\.s, z2\.s
10 TEST_UNIFORM_Z (qrdmlsh_s32_tied1
, svint32_t
,
11 z0
= svqrdmlsh_s32 (z0
, z1
, z2
),
12 z0
= svqrdmlsh (z0
, z1
, z2
))
16 ** mov (z[0-9]+)\.d, z0\.d
18 ** sqrdmlsh z0\.s, \1\.s, z2\.s
21 TEST_UNIFORM_Z (qrdmlsh_s32_tied2
, svint32_t
,
22 z0
= svqrdmlsh_s32 (z1
, z0
, z2
),
23 z0
= svqrdmlsh (z1
, z0
, z2
))
27 ** mov (z[0-9]+)\.d, z0\.d
29 ** sqrdmlsh z0\.s, z2\.s, \1\.s
32 TEST_UNIFORM_Z (qrdmlsh_s32_tied3
, svint32_t
,
33 z0
= svqrdmlsh_s32 (z1
, z2
, z0
),
34 z0
= svqrdmlsh (z1
, z2
, z0
))
37 ** qrdmlsh_s32_untied:
39 ** sqrdmlsh z0\.s, z2\.s, z3\.s
42 TEST_UNIFORM_Z (qrdmlsh_s32_untied
, svint32_t
,
43 z0
= svqrdmlsh_s32 (z1
, z2
, z3
),
44 z0
= svqrdmlsh (z1
, z2
, z3
))
47 ** qrdmlsh_w0_s32_tied1:
48 ** mov (z[0-9]+\.s), w0
49 ** sqrdmlsh z0\.s, z1\.s, \1
52 TEST_UNIFORM_ZX (qrdmlsh_w0_s32_tied1
, svint32_t
, int32_t,
53 z0
= svqrdmlsh_n_s32 (z0
, z1
, x0
),
54 z0
= svqrdmlsh (z0
, z1
, x0
))
57 ** qrdmlsh_w0_s32_tied2:
58 ** mov (z[0-9]+\.s), w0
59 ** mov (z[0-9]+)\.d, z0\.d
61 ** sqrdmlsh z0\.s, \2\.s, \1
64 TEST_UNIFORM_ZX (qrdmlsh_w0_s32_tied2
, svint32_t
, int32_t,
65 z0
= svqrdmlsh_n_s32 (z1
, z0
, x0
),
66 z0
= svqrdmlsh (z1
, z0
, x0
))
69 ** qrdmlsh_w0_s32_untied:
70 ** mov (z[0-9]+\.s), w0
72 ** sqrdmlsh z0\.s, z2\.s, \1
75 TEST_UNIFORM_ZX (qrdmlsh_w0_s32_untied
, svint32_t
, int32_t,
76 z0
= svqrdmlsh_n_s32 (z1
, z2
, x0
),
77 z0
= svqrdmlsh (z1
, z2
, x0
))
80 ** qrdmlsh_11_s32_tied1:
81 ** mov (z[0-9]+\.s), #11
82 ** sqrdmlsh z0\.s, z1\.s, \1
85 TEST_UNIFORM_Z (qrdmlsh_11_s32_tied1
, svint32_t
,
86 z0
= svqrdmlsh_n_s32 (z0
, z1
, 11),
87 z0
= svqrdmlsh (z0
, z1
, 11))
90 ** qrdmlsh_11_s32_tied2:
91 ** mov (z[0-9]+\.s), #11
92 ** mov (z[0-9]+)\.d, z0\.d
94 ** sqrdmlsh z0\.s, \2\.s, \1
97 TEST_UNIFORM_Z (qrdmlsh_11_s32_tied2
, svint32_t
,
98 z0
= svqrdmlsh_n_s32 (z1
, z0
, 11),
99 z0
= svqrdmlsh (z1
, z0
, 11))
102 ** qrdmlsh_11_s32_untied:
103 ** mov (z[0-9]+\.s), #11
105 ** sqrdmlsh z0\.s, z2\.s, \1
108 TEST_UNIFORM_Z (qrdmlsh_11_s32_untied
, svint32_t
,
109 z0
= svqrdmlsh_n_s32 (z1
, z2
, 11),
110 z0
= svqrdmlsh (z1
, z2
, 11))