1 /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" } } */
2 
3 #include "test_sve_acle.h"
4 
5 /*
6 ** cmplt_wide_u32_tied:
7 **	cmplo	p0\.s, p0/z, z0\.s, z1\.d
8 **	ret
9 */
10 TEST_COMPARE_DUAL_Z (cmplt_wide_u32_tied, svuint32_t, svuint64_t,
11 		     p0 = svcmplt_wide_u32 (p0, z0, z1),
12 		     p0 = svcmplt_wide (p0, z0, z1))
13 
14 /*
15 ** cmplt_wide_u32_untied:
16 **	cmplo	p0\.s, p1/z, z0\.s, z1\.d
17 **	ret
18 */
19 TEST_COMPARE_DUAL_Z (cmplt_wide_u32_untied, svuint32_t, svuint64_t,
20 		     p0 = svcmplt_wide_u32 (p1, z0, z1),
21 		     p0 = svcmplt_wide (p1, z0, z1))
22 
23 /*
24 ** cmplt_wide_x0_u32:
25 **	mov	(z[0-9]+\.d), x0
26 **	cmplo	p0\.s, p1/z, z0\.s, \1
27 **	ret
28 */
29 TEST_COMPARE_ZX (cmplt_wide_x0_u32, svuint32_t, uint64_t,
30 		 p0 = svcmplt_wide_n_u32 (p1, z0, x0),
31 		 p0 = svcmplt_wide (p1, z0, x0))
32 
33 /*
34 ** cmplt_wide_0_u32:
35 **	cmplo	p0\.s, p1/z, z0\.s, #0
36 **	ret
37 */
38 TEST_COMPARE_Z (cmplt_wide_0_u32, svuint32_t,
39 		p0 = svcmplt_wide_n_u32 (p1, z0, 0),
40 		p0 = svcmplt_wide (p1, z0, 0))
41 
42 /*
43 ** cmplt_wide_1_u32:
44 **	cmplo	p0\.s, p1/z, z0\.s, #1
45 **	ret
46 */
47 TEST_COMPARE_Z (cmplt_wide_1_u32, svuint32_t,
48 		p0 = svcmplt_wide_n_u32 (p1, z0, 1),
49 		p0 = svcmplt_wide (p1, z0, 1))
50 
51 /*
52 ** cmplt_wide_15_u32:
53 **	cmplo	p0\.s, p1/z, z0\.s, #15
54 **	ret
55 */
56 TEST_COMPARE_Z (cmplt_wide_15_u32, svuint32_t,
57 		p0 = svcmplt_wide_n_u32 (p1, z0, 15),
58 		p0 = svcmplt_wide (p1, z0, 15))
59 
60 /*
61 ** cmplt_wide_16_u32:
62 **	cmplo	p0\.s, p1/z, z0\.s, #16
63 **	ret
64 */
65 TEST_COMPARE_Z (cmplt_wide_16_u32, svuint32_t,
66 		p0 = svcmplt_wide_n_u32 (p1, z0, 16),
67 		p0 = svcmplt_wide (p1, z0, 16))
68 
69 /*
70 ** cmplt_wide_127_u32:
71 **	cmplo	p0\.s, p1/z, z0\.s, #127
72 **	ret
73 */
74 TEST_COMPARE_Z (cmplt_wide_127_u32, svuint32_t,
75 		p0 = svcmplt_wide_n_u32 (p1, z0, 127),
76 		p0 = svcmplt_wide (p1, z0, 127))
77 
78 /*
79 ** cmplt_wide_128_u32:
80 **	mov	(z[0-9]+\.d), #128
81 **	cmplo	p0\.s, p1/z, z0\.s, \1
82 **	ret
83 */
84 TEST_COMPARE_Z (cmplt_wide_128_u32, svuint32_t,
85 		p0 = svcmplt_wide_n_u32 (p1, z0, 128),
86 		p0 = svcmplt_wide (p1, z0, 128))
87 
88 /*
89 ** cmplt_wide_m1_u32:
90 **	mov	(z[0-9]+)\.b, #-1
91 **	cmplo	p0\.s, p1/z, z0\.s, \1\.d
92 **	ret
93 */
94 TEST_COMPARE_Z (cmplt_wide_m1_u32, svuint32_t,
95 		p0 = svcmplt_wide_n_u32 (p1, z0, -1),
96 		p0 = svcmplt_wide (p1, z0, -1))
97