1 /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" } } */
3 #include "test_sve_acle.h"
6 ** ldnt1ub_gather_u32_tied1:
7 ** ldnt1b z0\.s, p0/z, \[z0\.s\]
10 TEST_LOAD_GATHER_ZS (ldnt1ub_gather_u32_tied1
, svuint32_t
, svuint32_t
,
11 z0_res
= svldnt1ub_gather_u32base_u32 (p0
, z0
),
12 z0_res
= svldnt1ub_gather_u32 (p0
, z0
))
15 ** ldnt1ub_gather_u32_untied:
16 ** ldnt1b z0\.s, p0/z, \[z1\.s\]
19 TEST_LOAD_GATHER_ZS (ldnt1ub_gather_u32_untied
, svuint32_t
, svuint32_t
,
20 z0_res
= svldnt1ub_gather_u32base_u32 (p0
, z1
),
21 z0_res
= svldnt1ub_gather_u32 (p0
, z1
))
24 ** ldnt1ub_gather_x0_u32_offset:
25 ** ldnt1b z0\.s, p0/z, \[z0\.s, x0\]
28 TEST_LOAD_GATHER_ZS (ldnt1ub_gather_x0_u32_offset
, svuint32_t
, svuint32_t
,
29 z0_res
= svldnt1ub_gather_u32base_offset_u32 (p0
, z0
, x0
),
30 z0_res
= svldnt1ub_gather_offset_u32 (p0
, z0
, x0
))
33 ** ldnt1ub_gather_m1_u32_offset:
34 ** mov (x[0-9]+), #?-1
35 ** ldnt1b z0\.s, p0/z, \[z0\.s, \1\]
38 TEST_LOAD_GATHER_ZS (ldnt1ub_gather_m1_u32_offset
, svuint32_t
, svuint32_t
,
39 z0_res
= svldnt1ub_gather_u32base_offset_u32 (p0
, z0
, -1),
40 z0_res
= svldnt1ub_gather_offset_u32 (p0
, z0
, -1))
43 ** ldnt1ub_gather_0_u32_offset:
44 ** ldnt1b z0\.s, p0/z, \[z0\.s\]
47 TEST_LOAD_GATHER_ZS (ldnt1ub_gather_0_u32_offset
, svuint32_t
, svuint32_t
,
48 z0_res
= svldnt1ub_gather_u32base_offset_u32 (p0
, z0
, 0),
49 z0_res
= svldnt1ub_gather_offset_u32 (p0
, z0
, 0))
52 ** ldnt1ub_gather_5_u32_offset:
54 ** ldnt1b z0\.s, p0/z, \[z0\.s, \1\]
57 TEST_LOAD_GATHER_ZS (ldnt1ub_gather_5_u32_offset
, svuint32_t
, svuint32_t
,
58 z0_res
= svldnt1ub_gather_u32base_offset_u32 (p0
, z0
, 5),
59 z0_res
= svldnt1ub_gather_offset_u32 (p0
, z0
, 5))
62 ** ldnt1ub_gather_31_u32_offset:
63 ** mov (x[0-9]+), #?31
64 ** ldnt1b z0\.s, p0/z, \[z0\.s, \1\]
67 TEST_LOAD_GATHER_ZS (ldnt1ub_gather_31_u32_offset
, svuint32_t
, svuint32_t
,
68 z0_res
= svldnt1ub_gather_u32base_offset_u32 (p0
, z0
, 31),
69 z0_res
= svldnt1ub_gather_offset_u32 (p0
, z0
, 31))
72 ** ldnt1ub_gather_32_u32_offset:
73 ** mov (x[0-9]+), #?32
74 ** ldnt1b z0\.s, p0/z, \[z0\.s, \1\]
77 TEST_LOAD_GATHER_ZS (ldnt1ub_gather_32_u32_offset
, svuint32_t
, svuint32_t
,
78 z0_res
= svldnt1ub_gather_u32base_offset_u32 (p0
, z0
, 32),
79 z0_res
= svldnt1ub_gather_offset_u32 (p0
, z0
, 32))
82 ** ldnt1ub_gather_x0_u32_u32offset:
83 ** ldnt1b z0\.s, p0/z, \[z0\.s, x0\]
86 TEST_LOAD_GATHER_SZ (ldnt1ub_gather_x0_u32_u32offset
, svuint32_t
, uint8_t, svuint32_t
,
87 z0_res
= svldnt1ub_gather_u32offset_u32 (p0
, x0
, z0
),
88 z0_res
= svldnt1ub_gather_offset_u32 (p0
, x0
, z0
))
91 ** ldnt1ub_gather_tied1_u32_u32offset:
92 ** ldnt1b z0\.s, p0/z, \[z0\.s, x0\]
95 TEST_LOAD_GATHER_SZ (ldnt1ub_gather_tied1_u32_u32offset
, svuint32_t
, uint8_t, svuint32_t
,
96 z0_res
= svldnt1ub_gather_u32offset_u32 (p0
, x0
, z0
),
97 z0_res
= svldnt1ub_gather_offset_u32 (p0
, x0
, z0
))
100 ** ldnt1ub_gather_untied_u32_u32offset:
101 ** ldnt1b z0\.s, p0/z, \[z1\.s, x0\]
104 TEST_LOAD_GATHER_SZ (ldnt1ub_gather_untied_u32_u32offset
, svuint32_t
, uint8_t, svuint32_t
,
105 z0_res
= svldnt1ub_gather_u32offset_u32 (p0
, x0
, z1
),
106 z0_res
= svldnt1ub_gather_offset_u32 (p0
, x0
, z1
))