]>
git.ipfire.org Git - thirdparty/gcc.git/blob - gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/nbsl_s32.c
1 /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" } } */
3 #include "test_sve_acle.h"
7 ** nbsl z0\.d, z0\.d, z1\.d, z2\.d
10 TEST_UNIFORM_Z (nbsl_s32_tied1
, svint32_t
,
11 z0
= svnbsl_s32 (z0
, z1
, z2
),
12 z0
= svnbsl (z0
, z1
, z2
))
16 ** mov (z[0-9]+\.d), z0\.d
18 ** nbsl z0\.d, z0\.d, \1, z2\.d
21 TEST_UNIFORM_Z (nbsl_s32_tied2
, svint32_t
,
22 z0
= svnbsl_s32 (z1
, z0
, z2
),
23 z0
= svnbsl (z1
, z0
, z2
))
27 ** mov (z[0-9]+\.d), z0\.d
29 ** nbsl z0\.d, z0\.d, z2\.d, \1
32 TEST_UNIFORM_Z (nbsl_s32_tied3
, svint32_t
,
33 z0
= svnbsl_s32 (z1
, z2
, z0
),
34 z0
= svnbsl (z1
, z2
, z0
))
39 ** nbsl z0\.d, z0\.d, z2\.d, z3\.d
42 TEST_UNIFORM_Z (nbsl_s32_untied
, svint32_t
,
43 z0
= svnbsl_s32 (z1
, z2
, z3
),
44 z0
= svnbsl (z1
, z2
, z3
))
48 ** mov (z[0-9]+)\.s, w0
49 ** nbsl z0\.d, z0\.d, z1\.d, \1\.d
52 TEST_UNIFORM_ZX (nbsl_w0_s32_tied1
, svint32_t
, int32_t,
53 z0
= svnbsl_n_s32 (z0
, z1
, x0
),
54 z0
= svnbsl (z0
, z1
, x0
))
58 ** mov (z[0-9]+)\.s, w0
59 ** mov (z[0-9]+\.d), z0\.d
61 ** nbsl z0\.d, z0\.d, \2, \1\.d
64 TEST_UNIFORM_ZX (nbsl_w0_s32_tied2
, svint32_t
, int32_t,
65 z0
= svnbsl_n_s32 (z1
, z0
, x0
),
66 z0
= svnbsl (z1
, z0
, x0
))
69 ** nbsl_w0_s32_untied:
70 ** mov (z[0-9]+)\.s, w0
72 ** nbsl z0\.d, z0\.d, z2\.d, \1\.d
75 TEST_UNIFORM_ZX (nbsl_w0_s32_untied
, svint32_t
, int32_t,
76 z0
= svnbsl_n_s32 (z1
, z2
, x0
),
77 z0
= svnbsl (z1
, z2
, x0
))
81 ** mov (z[0-9]+)\.s, #11
82 ** nbsl z0\.d, z0\.d, z1\.d, \1\.d
85 TEST_UNIFORM_Z (nbsl_11_s32_tied1
, svint32_t
,
86 z0
= svnbsl_n_s32 (z0
, z1
, 11),
87 z0
= svnbsl (z0
, z1
, 11))
91 ** mov (z[0-9]+)\.s, #11
92 ** mov (z[0-9]+\.d), z0\.d
94 ** nbsl z0\.d, z0\.d, \2, \1\.d
97 TEST_UNIFORM_Z (nbsl_11_s32_tied2
, svint32_t
,
98 z0
= svnbsl_n_s32 (z1
, z0
, 11),
99 z0
= svnbsl (z1
, z0
, 11))
102 ** nbsl_11_s32_untied:
103 ** mov (z[0-9]+)\.s, #11
105 ** nbsl z0\.d, z0\.d, z2\.d, \1\.d
108 TEST_UNIFORM_Z (nbsl_11_s32_untied
, svint32_t
,
109 z0
= svnbsl_n_s32 (z1
, z2
, 11),
110 z0
= svnbsl (z1
, z2
, 11))