]> git.ipfire.org Git - thirdparty/gcc.git/blob - gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/shllt_u32.c
[AArch64] Add support for the SVE2 ACLE
[thirdparty/gcc.git] / gcc / testsuite / gcc.target / aarch64 / sve2 / acle / asm / shllt_u32.c
1 /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" } } */
2
3 #include "test_sve_acle.h"
4
5 /*
6 ** shllt_0_u32_tied1:
7 ** ushllt z0\.s, z0\.h, #0
8 ** ret
9 */
10 TEST_TYPE_CHANGE_Z (shllt_0_u32_tied1, svuint32_t, svuint16_t,
11 z0_res = svshllt_n_u32 (z0, 0),
12 z0_res = svshllt (z0, 0))
13
14 /*
15 ** shllt_0_u32_untied:
16 ** ushllt z0\.s, z1\.h, #0
17 ** ret
18 */
19 TEST_TYPE_CHANGE_Z (shllt_0_u32_untied, svuint32_t, svuint16_t,
20 z0_res = svshllt_n_u32 (z1, 0),
21 z0_res = svshllt (z1, 0))
22
23 /*
24 ** shllt_1_u32_tied1:
25 ** ushllt z0\.s, z0\.h, #1
26 ** ret
27 */
28 TEST_TYPE_CHANGE_Z (shllt_1_u32_tied1, svuint32_t, svuint16_t,
29 z0_res = svshllt_n_u32 (z0, 1),
30 z0_res = svshllt (z0, 1))
31
32 /*
33 ** shllt_1_u32_untied:
34 ** ushllt z0\.s, z1\.h, #1
35 ** ret
36 */
37 TEST_TYPE_CHANGE_Z (shllt_1_u32_untied, svuint32_t, svuint16_t,
38 z0_res = svshllt_n_u32 (z1, 1),
39 z0_res = svshllt (z1, 1))
40
41 /*
42 ** shllt_15_u32_tied1:
43 ** ushllt z0\.s, z0\.h, #15
44 ** ret
45 */
46 TEST_TYPE_CHANGE_Z (shllt_15_u32_tied1, svuint32_t, svuint16_t,
47 z0_res = svshllt_n_u32 (z0, 15),
48 z0_res = svshllt (z0, 15))
49
50 /*
51 ** shllt_15_u32_untied:
52 ** ushllt z0\.s, z1\.h, #15
53 ** ret
54 */
55 TEST_TYPE_CHANGE_Z (shllt_15_u32_untied, svuint32_t, svuint16_t,
56 z0_res = svshllt_n_u32 (z1, 15),
57 z0_res = svshllt (z1, 15))