annotate gcc/testsuite/gcc.target/aarch64/sve/pcs/struct_1_128.c @ 19:2b5abeee2509 default tip

update gcc11
author anatofuz
date Mon, 25 May 2020 07:50:57 +0900
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
19
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
1 /* { dg-do run { target { aarch64_sve128_hw } } } */
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
2 /* { dg-require-effective-target aarch64_little_endian } */
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
3 /* { dg-options "-msve-vector-bits=128" } */
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
4
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
5 #include "struct.h"
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
6
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
7 struct pst1
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
8 {
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
9 fixed_int8_t v[8];
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
10 fixed_bool_t p[4];
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
11 };
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
12
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
13 ASM_FUNCTION (make_pst1_asm, struct pst1, (),
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
14 "mov z0.b, #1\n\t"
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
15 "mov z1.b, #4\n\t"
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
16 "mov z2.b, #5\n\t"
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
17 "mov z3.b, #9\n\t"
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
18 "mov z4.b, #14\n\t"
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
19 "mov z5.b, #23\n\t"
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
20 "mov z6.b, #37\n\t"
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
21 "mov z7.b, #60\n\t"
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
22 "ptrue p0.b, vl1\n\t"
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
23 "ptrue p1.b, vl2\n\t"
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
24 "ptrue p2.b, vl3\n\t"
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
25 "ptrue p3.b, vl4");
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
26
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
27 #define LOAD_PST1(PTR) \
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
28 "ld1b z0.b, p0/z, [" PTR ", #0, mul vl]\n\t" \
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
29 "ld1b z1.b, p0/z, [" PTR ", #1, mul vl]\n\t" \
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
30 "ld1b z2.b, p0/z, [" PTR ", #2, mul vl]\n\t" \
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
31 "ld1b z3.b, p0/z, [" PTR ", #3, mul vl]\n\t" \
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
32 "ld1b z4.b, p0/z, [" PTR ", #4, mul vl]\n\t" \
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
33 "ld1b z5.b, p0/z, [" PTR ", #5, mul vl]\n\t" \
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
34 "ld1b z6.b, p0/z, [" PTR ", #6, mul vl]\n\t" \
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
35 "ld1b z7.b, p0/z, [" PTR ", #7, mul vl]\n\t" \
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
36 "incb " PTR ", all, mul #8\n\t" \
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
37 "ldr p0, [" PTR ", #0, mul vl]\n\t" \
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
38 "ldr p1, [" PTR ", #1, mul vl]\n\t" \
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
39 "ldr p2, [" PTR ", #2, mul vl]\n\t" \
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
40 "ldr p3, [" PTR ", #3, mul vl]"
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
41
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
42 ASM_FUNCTION (passthru_pst1_x0_a,
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
43 struct pst1, (svbool_t, struct pst1),
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
44 "incp x0, p0.b\n\t"
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
45 "sub x0, x0, #11\n\t"
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
46 "ptrue p0.b\n\t"
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
47 LOAD_PST1 ("x0"));
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
48
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
49 ASM_FUNCTION (passthru_pst1_x0_b,
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
50 struct pst1, (svbool_t, struct pst1, uint64_t),
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
51 "incp x0, p0.b\n\t"
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
52 "add x0, x0, x1\n\t"
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
53 "sub x0, x0, #52\n\t"
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
54 "ptrue p0.b\n\t"
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
55 LOAD_PST1 ("x0"));
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
56
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
57 ASM_FUNCTION (passthru_pst1_x0_c,
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
58 struct pst1, (svbool_t, struct pst1, svbool_t,
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
59 svbool_t, svbool_t, svbool_t),
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
60 "incp x0, p0.b\n\t"
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
61 "ldr p0, [x1]\n\t"
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
62 "incp x0, p1.b\n\t"
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
63 "incp x0, p2.b\n\t"
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
64 "incp x0, p3.b\n\t"
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
65 "incp x0, p0.b\n\t"
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
66 "sub x0, x0, #27\n\t"
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
67 "ptrue p0.b\n\t"
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
68 LOAD_PST1 ("x0"));
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
69
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
70 ASM_FUNCTION (passthru_pst1_x0_d,
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
71 struct pst1, (svfloat32_t, struct pst1),
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
72 "ptrue p0.b\n\t"
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
73 "fmov z1.s, #1.0\n\t"
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
74 "fcmeq p0.s, p0/z, z0.s, z1.s\n\t"
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
75 "uzp1 p0.b, p0.b, p0.b\n\t"
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
76 "uzp1 p0.b, p0.b, p0.b\n\t"
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
77 LOAD_PST1 ("x0"));
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
78
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
79 ASM_FUNCTION (passthru_pst1_x0_e,
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
80 struct pst1, (svfloat32_t, struct pst1, svint32_t,
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
81 svint32_t, svint32_t, svint32_t,
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
82 svint32_t, svint32_t, svint32_t),
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
83 "ptrue p0.b\n\t"
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
84 "fmov z24.s, #4.0\n\t"
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
85 "fcmeq p0.s, p0/z, z0.s, z24.s\n\t"
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
86 "cmpeq p0.s, p0/z, z1.s, #-4\n\t"
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
87 "cmpeq p0.s, p0/z, z2.s, #-9\n\t"
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
88 "cmpeq p0.s, p0/z, z3.s, #-14\n\t"
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
89 "cmpeq p0.s, p0/z, z4.s, #11\n\t"
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
90 "cmpeq p0.s, p0/z, z5.s, #10\n\t"
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
91 "cmpeq p0.s, p0/z, z6.s, #8\n\t"
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
92 "cmpeq p0.s, p0/z, z7.s, #-1\n\t"
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
93 "uzp1 p0.b, p0.b, p0.b\n\t"
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
94 "uzp1 p0.b, p0.b, p0.b\n\t"
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
95 LOAD_PST1 ("x0"));
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
96
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
97 ASM_FUNCTION (passthru_pst1_x7_a,
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
98 struct pst1, (svbool_t,
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
99 uint64_t, uint64_t, uint64_t, uint64_t,
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
100 uint64_t, uint64_t, uint64_t, struct pst1),
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
101 "add x0, x0, x1\n\t"
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
102 "add x2, x2, x3\n\t"
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
103 "add x4, x4, x5\n\t"
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
104 "add x0, x0, x2\n\t"
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
105 "add x4, x4, x6\n\t"
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
106 "add x0, x0, x4\n\t"
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
107 "add x7, x7, x0\n\t"
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
108 "sub x7, x7, #127\n\t"
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
109 "ptrue p0.b\n\t"
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
110 LOAD_PST1 ("x7"));
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
111
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
112 ASM_FUNCTION (passthru_pst1_x7_b,
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
113 struct pst1, (svbool_t, svbool_t, svbool_t, svbool_t,
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
114 svbool_t, svbool_t, svbool_t, svbool_t,
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
115 svbool_t, svbool_t, svbool_t,
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
116 struct pst1),
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
117 "and p0.b, p1/z, p0.b, p2.b\n\t"
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
118 "ldr p2, [x0]\n\t"
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
119 "and p0.b, p2/z, p0.b, p3.b\n\t"
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
120 "ldr p2, [x1]\n\t"
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
121 "ldr p3, [x2]\n\t"
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
122 "and p0.b, p2/z, p0.b, p3.b\n\t"
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
123 "ldr p2, [x3]\n\t"
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
124 "ldr p3, [x4]\n\t"
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
125 "and p0.b, p2/z, p0.b, p3.b\n\t"
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
126 "ldr p2, [x5]\n\t"
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
127 "ldr p3, [x6]\n\t"
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
128 "and p0.b, p2/z, p0.b, p3.b\n\t"
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
129 LOAD_PST1 ("x7"));
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
130
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
131 ASM_FUNCTION (passthru_pst1_sp_a,
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
132 struct pst1, (svbool_t, svbool_t, svbool_t, svbool_t,
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
133 svbool_t, svbool_t, svbool_t, svbool_t,
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
134 svbool_t, svbool_t, svbool_t, svbool_t,
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
135 struct pst1),
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
136 "and p0.b, p1/z, p0.b, p2.b\n\t"
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
137 "ldr p2, [x0]\n\t"
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
138 "and p0.b, p2/z, p0.b, p3.b\n\t"
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
139 "ldr p2, [x1]\n\t"
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
140 "ldr p3, [x2]\n\t"
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
141 "and p0.b, p2/z, p0.b, p3.b\n\t"
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
142 "ldr p2, [x3]\n\t"
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
143 "ldr p3, [x4]\n\t"
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
144 "and p0.b, p2/z, p0.b, p3.b\n\t"
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
145 "ldr p2, [x5]\n\t"
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
146 "ldr p3, [x6]\n\t"
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
147 "and p0.b, p2/z, p0.b, p3.b\n\t"
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
148 "ldr p2, [x7]\n\t"
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
149 "and p0.b, p2/z, p0.b, p0.b\n\t"
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
150 "ldr x5, [sp]\n\t"
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
151 #if __ILP32__
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
152 "uxtw x5, w5\n\t"
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
153 #endif
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
154 LOAD_PST1 ("x5"));
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
155
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
156 void
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
157 test_vl (svbool_t p0, unsigned int vl)
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
158 {
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
159 svbool_t pg = svptrue_b8 ();
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
160 if (svptest_any (pg, sveor_z (pg, p0, svwhilelt_b8 (0U, vl))))
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
161 __builtin_abort ();
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
162 }
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
163
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
164 void
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
165 test_pst1 (struct pst1 *x)
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
166 {
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
167 svbool_t pg = svptrue_b8 ();
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
168 if (svptest_any (pg, svcmpne (pg, x->v[0], 1))
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
169 || svptest_any (pg, svcmpne (pg, x->v[1], 4))
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
170 || svptest_any (pg, svcmpne (pg, x->v[2], 5))
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
171 || svptest_any (pg, svcmpne (pg, x->v[3], 9))
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
172 || svptest_any (pg, svcmpne (pg, x->v[4], 14))
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
173 || svptest_any (pg, svcmpne (pg, x->v[5], 23))
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
174 || svptest_any (pg, svcmpne (pg, x->v[6], 37))
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
175 || svptest_any (pg, svcmpne (pg, x->v[7], 60))
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
176 || svptest_any (pg, sveor_z (pg, x->p[0], svptrue_pat_b8 (SV_VL1)))
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
177 || svptest_any (pg, sveor_z (pg, x->p[1], svptrue_pat_b8 (SV_VL2)))
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
178 || svptest_any (pg, sveor_z (pg, x->p[2], svptrue_pat_b8 (SV_VL3)))
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
179 || svptest_any (pg, sveor_z (pg, x->p[3], svptrue_pat_b8 (SV_VL4))))
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
180 __builtin_abort ();
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
181 }
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
182
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
183 struct pst1
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
184 make_pst1 (void)
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
185 {
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
186 struct pst1 res;
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
187 res.v[0] = svdup_s8 (1);
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
188 res.v[1] = svdup_s8 (4);
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
189 res.v[2] = svdup_s8 (5);
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
190 res.v[3] = svdup_s8 (9);
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
191 res.v[4] = svdup_s8 (14);
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
192 res.v[5] = svdup_s8 (23);
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
193 res.v[6] = svdup_s8 (37);
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
194 res.v[7] = svdup_s8 (60);
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
195 res.p[0] = svptrue_pat_b8 (SV_VL1);
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
196 res.p[1] = svptrue_pat_b8 (SV_VL2);
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
197 res.p[2] = svptrue_pat_b8 (SV_VL3);
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
198 res.p[3] = svptrue_pat_b8 (SV_VL4);
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
199 return res;
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
200 }
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
201
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
202 struct pst1
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
203 deref_pst1 (struct pst1 *ptr)
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
204 {
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
205 return *ptr;
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
206 }
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
207
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
208 void
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
209 consume_pst1 (struct pst1 x)
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
210 {
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
211 test_pst1 (&x);
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
212 }
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
213
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
214 void
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
215 consume_pst1_x0_a (svbool_t p0, struct pst1 x0)
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
216 {
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
217 test_vl (p0, 11);
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
218 test_pst1 (&x0);
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
219 }
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
220
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
221 void
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
222 consume_pst1_x0_b (svbool_t p0, struct pst1 x0, uint64_t x1)
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
223 {
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
224 test_vl (p0, 10);
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
225 test_pst1 (&x0);
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
226 if (x1 != 42)
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
227 __builtin_abort ();
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
228 }
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
229
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
230 void
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
231 consume_pst1_x0_c (svbool_t p0, struct pst1 x0, svbool_t p1,
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
232 svbool_t p2, svbool_t p3, svbool_t x1)
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
233 {
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
234 test_vl (p0, 9);
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
235 test_pst1 (&x0);
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
236 test_vl (p1, 7);
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
237 test_vl (p2, 6);
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
238 test_vl (p3, 3);
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
239 test_vl (x1, 2);
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
240 }
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
241
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
242 void
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
243 consume_pst1_x0_d (svfloat32_t z0, struct pst1 x0)
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
244 {
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
245 svbool_t pg = svptrue_b8 ();
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
246 if (svptest_any (pg, svcmpne (pg, z0, 1.0)))
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
247 __builtin_abort ();
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
248 test_pst1 (&x0);
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
249 }
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
250
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
251 void
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
252 consume_pst1_x0_e (svfloat32_t z0, struct pst1 x0,
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
253 svint32_t z1, svint32_t z2, svint32_t z3, svint32_t z4,
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
254 svint32_t z5, svint32_t z6, svint32_t z7)
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
255 {
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
256 svbool_t pg = svptrue_b8 ();
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
257 if (svptest_any (pg, svcmpne (pg, z0, 4.0))
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
258 || svptest_any (pg, svcmpne (pg, z1, -4))
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
259 || svptest_any (pg, svcmpne (pg, z2, -9))
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
260 || svptest_any (pg, svcmpne (pg, z3, -14))
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
261 || svptest_any (pg, svcmpne (pg, z4, 11))
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
262 || svptest_any (pg, svcmpne (pg, z5, 10))
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
263 || svptest_any (pg, svcmpne (pg, z6, 8))
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
264 || svptest_any (pg, svcmpne (pg, z7, -1)))
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
265 __builtin_abort ();
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
266 test_pst1 (&x0);
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
267 }
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
268
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
269 void
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
270 consume_pst1_x7_a (svbool_t p0, uint64_t x0, uint64_t x1, uint64_t x2,
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
271 uint64_t x3, uint64_t x4, uint64_t x5, uint64_t x6,
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
272 struct pst1 x7)
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
273 {
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
274 test_vl (p0, __ARM_FEATURE_SVE_BITS);
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
275 if (x0 != 1
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
276 || x1 != 2
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
277 || x2 != 4
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
278 || x3 != 8
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
279 || x4 != 16
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
280 || x5 != 32
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
281 || x6 != 64)
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
282 __builtin_abort ();
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
283 test_pst1 (&x7);
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
284 }
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
285
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
286 void
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
287 consume_pst1_x7_b (svbool_t p0, svbool_t p1, svbool_t p2, svbool_t p3,
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
288 svbool_t x0, svbool_t x1, svbool_t x2, svbool_t x3,
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
289 svbool_t x4, svbool_t x5, svbool_t x6, struct pst1 x7)
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
290 {
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
291 test_vl (p0, __ARM_FEATURE_SVE_BITS);
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
292 test_vl (p1, __ARM_FEATURE_SVE_BITS);
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
293 test_vl (p2, __ARM_FEATURE_SVE_BITS);
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
294 test_vl (p3, __ARM_FEATURE_SVE_BITS);
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
295 test_vl (x0, __ARM_FEATURE_SVE_BITS);
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
296 test_vl (x1, __ARM_FEATURE_SVE_BITS);
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
297 test_vl (x2, __ARM_FEATURE_SVE_BITS);
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
298 test_vl (x3, __ARM_FEATURE_SVE_BITS);
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
299 test_vl (x4, __ARM_FEATURE_SVE_BITS);
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
300 test_vl (x5, __ARM_FEATURE_SVE_BITS);
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
301 test_vl (x6, __ARM_FEATURE_SVE_BITS);
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
302 test_pst1 (&x7);
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
303 }
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
304
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
305 void
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
306 consume_pst1_sp_a (svbool_t p0, svbool_t p1, svbool_t p2, svbool_t p3,
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
307 svbool_t x0, svbool_t x1, svbool_t x2, svbool_t x3,
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
308 svbool_t x4, svbool_t x5, svbool_t x6, svbool_t x7,
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
309 struct pst1 sp)
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
310 {
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
311 test_vl (p0, __ARM_FEATURE_SVE_BITS);
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
312 test_vl (p1, __ARM_FEATURE_SVE_BITS);
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
313 test_vl (p2, __ARM_FEATURE_SVE_BITS);
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
314 test_vl (p3, __ARM_FEATURE_SVE_BITS);
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
315 test_vl (x0, __ARM_FEATURE_SVE_BITS);
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
316 test_vl (x1, __ARM_FEATURE_SVE_BITS);
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
317 test_vl (x2, __ARM_FEATURE_SVE_BITS);
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
318 test_vl (x3, __ARM_FEATURE_SVE_BITS);
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
319 test_vl (x4, __ARM_FEATURE_SVE_BITS);
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
320 test_vl (x5, __ARM_FEATURE_SVE_BITS);
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
321 test_vl (x6, __ARM_FEATURE_SVE_BITS);
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
322 test_vl (x7, __ARM_FEATURE_SVE_BITS);
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
323 test_pst1 (&sp);
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
324 }
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
325
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
326 int
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
327 main (void)
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
328 {
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
329 svbool_t pg = svptrue_b8 ();
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
330 svbool_t vl2 = svptrue_pat_b8 (SV_VL2);
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
331 svbool_t vl3 = svptrue_pat_b8 (SV_VL3);
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
332 svbool_t vl6 = svptrue_pat_b8 (SV_VL6);
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
333 svbool_t vl7 = svptrue_pat_b8 (SV_VL7);
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
334 svbool_t vl9 = svwhilelt_b8 (0, 9);
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
335 svbool_t vl10 = svwhilelt_b8 (0, 10);
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
336 svbool_t vl11 = svwhilelt_b8 (0, 11);
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
337
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
338 CLEANSE; struct pst1 res1 = make_pst1_asm ();
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
339 CLEANSE; test_pst1 (&res1);
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
340 CLEANSE; consume_pst1 (make_pst1 ());
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
341
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
342 CLEANSE; struct pst1 res2 = deref_pst1 (&res1);
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
343 CLEANSE; test_pst1 (&res2);
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
344 CLEANSE; consume_pst1 (res2);
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
345
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
346 CLEANSE; struct pst1 res3 = passthru_pst1_x0_a (vl11, res1);
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
347 CLEANSE; test_pst1 (&res3);
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
348 CLEANSE; consume_pst1_x0_a (vl11, res3);
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
349
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
350 CLEANSE; struct pst1 res4 = passthru_pst1_x0_b (vl10, res1, 42);
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
351 CLEANSE; test_pst1 (&res4);
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
352 CLEANSE; consume_pst1_x0_b (vl10, res4, 42);
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
353
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
354 CLEANSE; struct pst1 res5 = passthru_pst1_x0_c (vl9, res1, vl7,
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
355 vl6, vl3, vl2);
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
356 CLEANSE; test_pst1 (&res5);
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
357 CLEANSE; consume_pst1_x0_c (vl9, res5, vl7,
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
358 vl6, vl3, vl2);
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
359
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
360 CLEANSE; struct pst1 res6 = passthru_pst1_x0_d (svdup_f32 (1.0), res1);
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
361 CLEANSE; test_pst1 (&res6);
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
362 CLEANSE; consume_pst1_x0_d (svdup_f32 (1.0), res6);
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
363
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
364 CLEANSE; struct pst1 res7 = passthru_pst1_x0_e (svdup_f32 (4.0), res1,
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
365 svdup_s32 (-4),
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
366 svdup_s32 (-9),
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
367 svdup_s32 (-14),
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
368 svdup_s32 (11),
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
369 svdup_s32 (10),
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
370 svdup_s32 (8),
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
371 svdup_s32 (-1));
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
372 CLEANSE; test_pst1 (&res7);
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
373 CLEANSE; consume_pst1_x0_e (svdup_f32 (4.0), res1,
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
374 svdup_s32 (-4),
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
375 svdup_s32 (-9),
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
376 svdup_s32 (-14),
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
377 svdup_s32 (11),
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
378 svdup_s32 (10),
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
379 svdup_s32 (8),
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
380 svdup_s32 (-1));
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
381
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
382 CLEANSE; struct pst1 res8 = passthru_pst1_x7_a (pg, 1, 2, 4, 8,
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
383 16, 32, 64, res1);
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
384 CLEANSE; test_pst1 (&res8);
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
385 CLEANSE; consume_pst1_x7_a (pg, 1, 2, 4, 8,
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
386 16, 32, 64, res8);
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
387
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
388 CLEANSE; struct pst1 res9 = passthru_pst1_x7_b (pg, pg, pg, pg,
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
389 pg, pg, pg, pg,
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
390 pg, pg, pg, res1);
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
391 CLEANSE; test_pst1 (&res9);
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
392 CLEANSE; consume_pst1_x7_b (pg, pg, pg, pg,
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
393 pg, pg, pg, pg,
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
394 pg, pg, pg, res9);
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
395
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
396 CLEANSE; struct pst1 res10 = passthru_pst1_sp_a (pg, pg, pg, pg,
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
397 pg, pg, pg, pg,
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
398 pg, pg, pg, pg, res1);
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
399 CLEANSE; test_pst1 (&res10);
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
400 CLEANSE; consume_pst1_sp_a (pg, pg, pg, pg,
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
401 pg, pg, pg, pg,
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
402 pg, pg, pg, pg, res10);
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
403
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
404 return 0;
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
405 }