1 /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" } } */
2 
3 #include "test_sve_acle.h"
4 
5 /*
6 ** abs_s8_m_tied12:
7 **	abs	z0\.b, p0/m, z0\.b
8 **	ret
9 */
10 TEST_UNIFORM_Z (abs_s8_m_tied12, svint8_t,
11 		z0 = svabs_s8_m (z0, p0, z0),
12 		z0 = svabs_m (z0, p0, z0))
13 
14 /*
15 ** abs_s8_m_tied1:
16 **	abs	z0\.b, p0/m, z1\.b
17 **	ret
18 */
19 TEST_UNIFORM_Z (abs_s8_m_tied1, svint8_t,
20 		z0 = svabs_s8_m (z0, p0, z1),
21 		z0 = svabs_m (z0, p0, z1))
22 
23 /*
24 ** abs_s8_m_tied2:
25 **	mov	(z[0-9]+)\.d, z0\.d
26 **	movprfx	z0, z1
27 **	abs	z0\.b, p0/m, \1\.b
28 **	ret
29 */
30 TEST_UNIFORM_Z (abs_s8_m_tied2, svint8_t,
31 		z0 = svabs_s8_m (z1, p0, z0),
32 		z0 = svabs_m (z1, p0, z0))
33 
34 /*
35 ** abs_s8_m_untied:
36 **	movprfx	z0, z2
37 **	abs	z0\.b, p0/m, z1\.b
38 **	ret
39 */
40 TEST_UNIFORM_Z (abs_s8_m_untied, svint8_t,
41 		z0 = svabs_s8_m (z2, p0, z1),
42 		z0 = svabs_m (z2, p0, z1))
43 
44 /*
45 ** abs_s8_z_tied1:
46 **	mov	(z[0-9]+)\.d, z0\.d
47 **	movprfx	z0\.b, p0/z, \1\.b
48 **	abs	z0\.b, p0/m, \1\.b
49 **	ret
50 */
51 TEST_UNIFORM_Z (abs_s8_z_tied1, svint8_t,
52 		z0 = svabs_s8_z (p0, z0),
53 		z0 = svabs_z (p0, z0))
54 
55 /*
56 ** abs_s8_z_untied:
57 **	movprfx	z0\.b, p0/z, z1\.b
58 **	abs	z0\.b, p0/m, z1\.b
59 **	ret
60 */
61 TEST_UNIFORM_Z (abs_s8_z_untied, svint8_t,
62 		z0 = svabs_s8_z (p0, z1),
63 		z0 = svabs_z (p0, z1))
64 
65 /*
66 ** abs_s8_x_tied1:
67 **	abs	z0\.b, p0/m, z0\.b
68 **	ret
69 */
70 TEST_UNIFORM_Z (abs_s8_x_tied1, svint8_t,
71 		z0 = svabs_s8_x (p0, z0),
72 		z0 = svabs_x (p0, z0))
73 
74 /*
75 ** abs_s8_x_untied:
76 **	abs	z0\.b, p0/m, z1\.b
77 **	ret
78 */
79 TEST_UNIFORM_Z (abs_s8_x_untied, svint8_t,
80 		z0 = svabs_s8_x (p0, z1),
81 		z0 = svabs_x (p0, z1))
82