1 /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" } } */
2 
3 #include "test_sve_acle.h"
4 
5 /*
6 ** revb_s32_m_tied12:
7 **	revb	z0\.s, p0/m, z0\.s
8 **	ret
9 */
10 TEST_UNIFORM_Z (revb_s32_m_tied12, svint32_t,
11 		z0 = svrevb_s32_m (z0, p0, z0),
12 		z0 = svrevb_m (z0, p0, z0))
13 
14 /*
15 ** revb_s32_m_tied1:
16 **	revb	z0\.s, p0/m, z1\.s
17 **	ret
18 */
19 TEST_UNIFORM_Z (revb_s32_m_tied1, svint32_t,
20 		z0 = svrevb_s32_m (z0, p0, z1),
21 		z0 = svrevb_m (z0, p0, z1))
22 
23 /*
24 ** revb_s32_m_tied2:
25 **	mov	(z[0-9]+)\.d, z0\.d
26 **	movprfx	z0, z1
27 **	revb	z0\.s, p0/m, \1\.s
28 **	ret
29 */
30 TEST_UNIFORM_Z (revb_s32_m_tied2, svint32_t,
31 		z0 = svrevb_s32_m (z1, p0, z0),
32 		z0 = svrevb_m (z1, p0, z0))
33 
34 /*
35 ** revb_s32_m_untied:
36 **	movprfx	z0, z2
37 **	revb	z0\.s, p0/m, z1\.s
38 **	ret
39 */
40 TEST_UNIFORM_Z (revb_s32_m_untied, svint32_t,
41 		z0 = svrevb_s32_m (z2, p0, z1),
42 		z0 = svrevb_m (z2, p0, z1))
43 
44 /*
45 ** revb_s32_z_tied1:
46 **	mov	(z[0-9]+)\.d, z0\.d
47 **	movprfx	z0\.s, p0/z, \1\.s
48 **	revb	z0\.s, p0/m, \1\.s
49 **	ret
50 */
51 TEST_UNIFORM_Z (revb_s32_z_tied1, svint32_t,
52 		z0 = svrevb_s32_z (p0, z0),
53 		z0 = svrevb_z (p0, z0))
54 
55 /*
56 ** revb_s32_z_untied:
57 **	movprfx	z0\.s, p0/z, z1\.s
58 **	revb	z0\.s, p0/m, z1\.s
59 **	ret
60 */
61 TEST_UNIFORM_Z (revb_s32_z_untied, svint32_t,
62 		z0 = svrevb_s32_z (p0, z1),
63 		z0 = svrevb_z (p0, z1))
64 
65 /*
66 ** revb_s32_x_tied1:
67 **	revb	z0\.s, p0/m, z0\.s
68 **	ret
69 */
70 TEST_UNIFORM_Z (revb_s32_x_tied1, svint32_t,
71 		z0 = svrevb_s32_x (p0, z0),
72 		z0 = svrevb_x (p0, z0))
73 
74 /*
75 ** revb_s32_x_untied:
76 **	revb	z0\.s, p0/m, z1\.s
77 **	ret
78 */
79 TEST_UNIFORM_Z (revb_s32_x_untied, svint32_t,
80 		z0 = svrevb_s32_x (p0, z1),
81 		z0 = svrevb_x (p0, z1))
82