History

Add 73_arm64 for testing some arm64 things, mostly PCS.

Edmund Grimley Evans committed 11 years ago

Commit 8329fac1 parent a4d43613 files · +529 −0Browse files

Unified · Split

3 files
  1. tests/tests2/73_arm64.c +405 −0
  2. tests/tests2/73_arm64.expect +123 −0
  3. tests/tests2/Makefile +1 −0
tests/tests2/73_arm64.c+405−0
@@ -0,0 +1,405 @@
1+// This program is designed to test some arm64-specific things, such as the
2+// calling convention, but should give the same results on any architecture.
3+
4+#include <stdarg.h>
5+#include <stdio.h>
6+
7+struct s1 { char x[1]; } s1 = { "0" };
8+struct s2 { char x[2]; } s2 = { "12" };
9+struct s3 { char x[3]; } s3 = { "345" };
10+struct s4 { char x[4]; } s4 = { "6789" };
11+struct s5 { char x[5]; } s5 = { "abcde" };
12+struct s6 { char x[6]; } s6 = { "fghijk" };
13+struct s7 { char x[7]; } s7 = { "lmnopqr" };
14+struct s8 { char x[8]; } s8 = { "stuvwxyz" };
15+struct s9 { char x[9]; } s9 = { "ABCDEFGHI" };
16+struct s10 { char x[10]; } s10 = { "JKLMNOPQRS" };
17+struct s11 { char x[11]; } s11 = { "TUVWXYZ0123" };
18+struct s12 { char x[12]; } s12 = { "456789abcdef" };
19+struct s13 { char x[13]; } s13 = { "ghijklmnopqrs" };
20+struct s14 { char x[14]; } s14 = { "tuvwxyzABCDEFG" };
21+struct s15 { char x[15]; } s15 = { "HIJKLMNOPQRSTUV" };
22+struct s16 { char x[16]; } s16 = { "WXYZ0123456789ab" };
23+struct s17 { char x[17]; } s17 = { "cdefghijklmnopqrs" };
24+
25+struct hfa11 { float a; } hfa11 = { 11.1 };
26+struct hfa12 { float a, b; } hfa12 = { 12.1, 12.2 };
27+struct hfa13 { float a, b, c; } hfa13 = { 13.1, 13.2, 13.3 };
28+struct hfa14 { float a, b, c, d; } hfa14 = { 14.1, 14.2, 14.3, 14.4 };
29+
30+struct hfa21 { double a; } hfa21 = { 21.1 };
31+struct hfa22 { double a, b; } hfa22 = { 22.1, 22.2 };
32+struct hfa23 { double a, b, c; } hfa23 = { 23.1, 23.2, 23.3 };
33+struct hfa24 { double a, b, c, d; } hfa24 = { 24.1, 24.2, 24.3, 24.4 };
34+
35+struct hfa31 { long double a; } hfa31 = { 31.1 };
36+struct hfa32 { long double a, b; } hfa32 = { 32.1, 32.2 };
37+struct hfa33 { long double a, b, c; } hfa33 = { 33.1, 33.2, 33.3 };
38+struct hfa34 { long double a, b, c, d; } hfa34 = { 34.1, 34.2, 34.3, 34.4 };
39+
40+void fa_s1(struct s1 a) { printf("%.1s\n", a.x); }
41+void fa_s2(struct s2 a) { printf("%.2s\n", a.x); }
42+void fa_s3(struct s3 a) { printf("%.3s\n", a.x); }
43+void fa_s4(struct s4 a) { printf("%.4s\n", a.x); }
44+void fa_s5(struct s5 a) { printf("%.5s\n", a.x); }
45+void fa_s6(struct s6 a) { printf("%.6s\n", a.x); }
46+void fa_s7(struct s7 a) { printf("%.7s\n", a.x); }
47+void fa_s8(struct s8 a) { printf("%.8s\n", a.x); }
48+void fa_s9(struct s9 a) { printf("%.9s\n", a.x); }
49+void fa_s10(struct s10 a) { printf("%.10s\n", a.x); }
50+void fa_s11(struct s11 a) { printf("%.11s\n", a.x); }
51+void fa_s12(struct s12 a) { printf("%.12s\n", a.x); }
52+void fa_s13(struct s13 a) { printf("%.13s\n", a.x); }
53+void fa_s14(struct s14 a) { printf("%.14s\n", a.x); }
54+void fa_s15(struct s15 a) { printf("%.15s\n", a.x); }
55+void fa_s16(struct s16 a) { printf("%.16s\n", a.x); }
56+void fa_s17(struct s17 a) { printf("%.17s\n", a.x); }
57+
58+void fa_hfa11(struct hfa11 a)
59+{ printf("%.1f\n", a.a); }
60+void fa_hfa12(struct hfa12 a)
61+{ printf("%.1f %.1f\n", a.a, a.a); }
62+void fa_hfa13(struct hfa13 a)
63+{ printf("%.1f %.1f %.1f\n", a.a, a.b, a.c); }
64+void fa_hfa14(struct hfa14 a)
65+{ printf("%.1f %.1f %.1f %.1f\n", a.a, a.b, a.c, a.d); }
66+
67+void fa_hfa21(struct hfa21 a)
68+{ printf("%.1f\n", a.a); }
69+void fa_hfa22(struct hfa22 a)
70+{ printf("%.1f %.1f\n", a.a, a.a); }
71+void fa_hfa23(struct hfa23 a)
72+{ printf("%.1f %.1f %.1f\n", a.a, a.b, a.c); }
73+void fa_hfa24(struct hfa24 a)
74+{ printf("%.1f %.1f %.1f %.1f\n", a.a, a.b, a.c, a.d); }
75+
76+void fa_hfa31(struct hfa31 a)
77+{ printf("%.1Lf\n", a.a); }
78+void fa_hfa32(struct hfa32 a)
79+{ printf("%.1Lf %.1Lf\n", a.a, a.a); }
80+void fa_hfa33(struct hfa33 a)
81+{ printf("%.1Lf %.1Lf %.1Lf\n", a.a, a.b, a.c); }
82+void fa_hfa34(struct hfa34 a)
83+{ printf("%.1Lf %.1Lf %.1Lf %.1Lf\n", a.a, a.b, a.c, a.d); }
84+
85+void fa1(struct s8 a, struct s9 b, struct s10 c, struct s11 d,
86+ struct s12 e, struct s13 f)
87+{
88+ printf("%.3s %.3s %.3s %.3s %.3s %.3s\n", a.x, b.x, c.x, d.x, e.x, f.x);
89+}
90+
91+void fa2(struct s9 a, struct s10 b, struct s11 c, struct s12 d,
92+ struct s13 e, struct s14 f)
93+{
94+ printf("%.3s %.3s %.3s %.3s %.3s %.3s\n", a.x, b.x, c.x, d.x, e.x, f.x);
95+}
96+
97+void fa3(struct hfa14 a, struct hfa23 b, struct hfa32 c)
98+{
99+ printf("%.1f %.1f %.1f %.1f %.1Lf %.1Lf\n",
100+ a.a, a.d, b.a, b.c, c.a, c.b);
101+}
102+
103+void fa4(struct s1 a, struct hfa14 b, struct s2 c, struct hfa24 d,
104+ struct s3 e, struct hfa34 f)
105+{
106+ printf("%.1s %.1f %.1f %.2s %.1f %.1f %.3s %.1Lf %.1Lf\n",
107+ a.x, b.a, b.d, c.x, d.a, d.d, e.x, f.a, f.d);
108+}
109+
110+void arg(void)
111+{
112+ printf("Arguments:\n");
113+ fa_s1(s1);
114+ fa_s2(s2);
115+ fa_s3(s3);
116+ fa_s4(s4);
117+ fa_s5(s5);
118+ fa_s6(s6);
119+ fa_s7(s7);
120+ fa_s8(s8);
121+ fa_s9(s9);
122+ fa_s10(s10);
123+ fa_s11(s11);
124+ fa_s12(s12);
125+ fa_s13(s13);
126+ fa_s14(s14);
127+ fa_s15(s15);
128+ fa_s16(s16);
129+ fa_s17(s17);
130+ fa_hfa11(hfa11);
131+ fa_hfa12(hfa12);
132+ fa_hfa13(hfa13);
133+ fa_hfa14(hfa14);
134+ fa_hfa21(hfa21);
135+ fa_hfa22(hfa22);
136+ fa_hfa23(hfa23);
137+ fa_hfa24(hfa24);
138+ fa_hfa31(hfa31);
139+ fa_hfa32(hfa32);
140+ fa_hfa33(hfa33);
141+ fa_hfa34(hfa34);
142+ fa1(s8, s9, s10, s11, s12, s13);
143+ fa2(s9, s10, s11, s12, s13, s14);
144+ fa3(hfa14, hfa23, hfa32);
145+ fa4(s1, hfa14, s2, hfa24, s3, hfa34);
146+}
147+
148+struct s1 fr_s1(void) { return s1; }
149+struct s2 fr_s2(void) { return s2; }
150+struct s3 fr_s3(void) { return s3; }
151+struct s4 fr_s4(void) { return s4; }
152+struct s5 fr_s5(void) { return s5; }
153+struct s6 fr_s6(void) { return s6; }
154+struct s7 fr_s7(void) { return s7; }
155+struct s8 fr_s8(void) { return s8; }
156+struct s9 fr_s9(void) { return s9; }
157+struct s10 fr_s10(void) { return s10; }
158+struct s11 fr_s11(void) { return s11; }
159+struct s12 fr_s12(void) { return s12; }
160+struct s13 fr_s13(void) { return s13; }
161+struct s14 fr_s14(void) { return s14; }
162+struct s15 fr_s15(void) { return s15; }
163+struct s16 fr_s16(void) { return s16; }
164+struct s17 fr_s17(void) { return s17; }
165+
166+struct hfa11 fr_hfa11(void) { return hfa11; }
167+struct hfa12 fr_hfa12(void) { return hfa12; }
168+struct hfa13 fr_hfa13(void) { return hfa13; }
169+struct hfa14 fr_hfa14(void) { return hfa14; }
170+
171+struct hfa21 fr_hfa21(void) { return hfa21; }
172+struct hfa22 fr_hfa22(void) { return hfa22; }
173+struct hfa23 fr_hfa23(void) { return hfa23; }
174+struct hfa24 fr_hfa24(void) { return hfa24; }
175+
176+struct hfa31 fr_hfa31(void) { return hfa31; }
177+struct hfa32 fr_hfa32(void) { return hfa32; }
178+struct hfa33 fr_hfa33(void) { return hfa33; }
179+struct hfa34 fr_hfa34(void) { return hfa34; }
180+
181+void ret(void)
182+{
183+ printf("Return values:\n");
184+ printf("%.1s\n", &fr_s1().x[0]);
185+ printf("%.2s\n", &fr_s2().x[0]);
186+ printf("%.3s\n", &fr_s3().x[0]);
187+ printf("%.4s\n", &fr_s4().x[0]);
188+ printf("%.5s\n", &fr_s5().x[0]);
189+ printf("%.6s\n", &fr_s6().x[0]);
190+ printf("%.7s\n", &fr_s7().x[0]);
191+ printf("%.8s\n", &fr_s8().x[0]);
192+ printf("%.9s\n", &fr_s9().x[0]);
193+ printf("%.10s\n", &fr_s10().x[0]);
194+ printf("%.11s\n", &fr_s11().x[0]);
195+ printf("%.12s\n", &fr_s12().x[0]);
196+ printf("%.13s\n", &fr_s13().x[0]);
197+ printf("%.14s\n", &fr_s14().x[0]);
198+ printf("%.15s\n", &fr_s15().x[0]);
199+ printf("%.16s\n", &fr_s16().x[0]);
200+ printf("%.17s\n", &fr_s17().x[0]);
201+ printf("%.1f\n", fr_hfa11().a);
202+ printf("%.1f %.1f\n", fr_hfa12().a, fr_hfa12().b);
203+ printf("%.1f %.1f\n", fr_hfa13().a, fr_hfa13().c);
204+ printf("%.1f %.1f\n", fr_hfa14().a, fr_hfa14().d);
205+ printf("%.1f\n", fr_hfa21().a);
206+ printf("%.1f %.1f\n", fr_hfa22().a, fr_hfa22().b);
207+ printf("%.1f %.1f\n", fr_hfa23().a, fr_hfa23().c);
208+ printf("%.1f %.1f\n", fr_hfa24().a, fr_hfa24().d);
209+ printf("%.1Lf\n", fr_hfa31().a);
210+ printf("%.1Lf %.1Lf\n", fr_hfa32().a, fr_hfa32().b);
211+ printf("%.1Lf %.1Lf\n", fr_hfa33().a, fr_hfa33().c);
212+ printf("%.1Lf %.1Lf\n", fr_hfa34().a, fr_hfa34().d);
213+}
214+
215+int match(const char **s, const char *f)
216+{
217+ const char *p = *s;
218+ for (p = *s; *f && *f == *p; f++, p++)
219+ ;
220+ if (!*f) {
221+ *s = p - 1;
222+ return 1;
223+ }
224+ return 0;
225+}
226+
227+void myprintf(const char *format, ...)
228+{
229+ const char *s;
230+ va_list ap;
231+ va_start(ap, format);
232+ for (s = format; *s; s++) {
233+ if (match(&s, "%7s"))
234+ printf("%.7s", &va_arg(ap, struct s7).x[0]);
235+ else if (match(&s, "%9s"))
236+ printf("%.9s", &va_arg(ap, struct s9).x[0]);
237+ else if (match(&s, "%hfa11")) {
238+ struct hfa11 x = va_arg(ap, struct hfa11);
239+ printf("%.1f,%.1f", x.a, x.a);
240+ }
241+ else if (match(&s, "%hfa12")) {
242+ struct hfa12 x = va_arg(ap, struct hfa12);
243+ printf("%.1f,%.1f", x.a, x.b);
244+ }
245+ else if (match(&s, "%hfa13")) {
246+ struct hfa13 x = va_arg(ap, struct hfa13);
247+ printf("%.1f,%.1f", x.a, x.c);
248+ }
249+ else if (match(&s, "%hfa14")) {
250+ struct hfa14 x = va_arg(ap, struct hfa14);
251+ printf("%.1f,%.1f", x.a, x.d);
252+ }
253+ else if (match(&s, "%hfa21")) {
254+ struct hfa21 x = va_arg(ap, struct hfa21);
255+ printf("%.1f,%.1f", x.a, x.a);
256+ }
257+ else if (match(&s, "%hfa22")) {
258+ struct hfa22 x = va_arg(ap, struct hfa22);
259+ printf("%.1f,%.1f", x.a, x.b);
260+ }
261+ else if (match(&s, "%hfa23")) {
262+ struct hfa23 x = va_arg(ap, struct hfa23);
263+ printf("%.1f,%.1f", x.a, x.c);
264+ }
265+ else if (match(&s, "%hfa24")) {
266+ struct hfa24 x = va_arg(ap, struct hfa24);
267+ printf("%.1f,%.1f", x.a, x.d);
268+ }
269+ else if (match(&s, "%hfa31")) {
270+ struct hfa31 x = va_arg(ap, struct hfa31);
271+ printf("%.1Lf,%.1Lf", x.a, x.a);
272+ }
273+ else if (match(&s, "%hfa32")) {
274+ struct hfa32 x = va_arg(ap, struct hfa32);
275+ printf("%.1Lf,%.1Lf", x.a, x.b);
276+ }
277+ else if (match(&s, "%hfa33")) {
278+ struct hfa33 x = va_arg(ap, struct hfa33);
279+ printf("%.1Lf,%.1Lf", x.a, x.c);
280+ }
281+ else if (match(&s, "%hfa34")) {
282+ struct hfa34 x = va_arg(ap, struct hfa34);
283+ printf("%.1Lf,%.1Lf", x.a, x.d);
284+ }
285+ else
286+ putchar(*s);
287+ }
288+ putchar('\n');
289+}
290+
291+void stdarg(void)
292+{
293+ printf("stdarg:\n");
294+ myprintf("%9s %9s %9s %9s %9s %9s", s9, s9, s9, s9, s9, s9);
295+ myprintf("%7s %9s %9s %9s %9s %9s", s7, s9, s9, s9, s9, s9);
296+
297+ myprintf("HFA long double:");
298+ myprintf("%hfa34 %hfa34 %hfa34 %hfa34", hfa34, hfa34, hfa34, hfa34);
299+ myprintf("%hfa33 %hfa34 %hfa34 %hfa34", hfa33, hfa34, hfa34, hfa34);
300+ myprintf("%hfa32 %hfa34 %hfa34 %hfa34", hfa32, hfa34, hfa34, hfa34);
301+ myprintf("%hfa31 %hfa34 %hfa34 %hfa34", hfa31, hfa34, hfa34, hfa34);
302+
303+ myprintf("%hfa32 %hfa33 %hfa33 %hfa33 %hfa33",
304+ hfa32, hfa33, hfa33, hfa33, hfa33);
305+ myprintf("%hfa31 %hfa33 %hfa33 %hfa33 %hfa33",
306+ hfa31, hfa33, hfa33, hfa33, hfa33);
307+ myprintf("%hfa33 %hfa33 %hfa33 %hfa33",
308+ hfa33, hfa33, hfa33, hfa33);
309+
310+ myprintf("%hfa34 %hfa32 %hfa32 %hfa32 %hfa32",
311+ hfa34, hfa32, hfa32, hfa32, hfa32);
312+ myprintf("%hfa33 %hfa32 %hfa32 %hfa32 %hfa32",
313+ hfa33, hfa32, hfa32, hfa32, hfa32);
314+
315+ myprintf("%hfa34 %hfa32 %hfa31 %hfa31 %hfa31 %hfa31",
316+ hfa34, hfa32, hfa31, hfa31, hfa31, hfa31);
317+
318+ myprintf("HFA double:");
319+ myprintf("%hfa24 %hfa24 %hfa24 %hfa24", hfa24, hfa24, hfa24, hfa24);
320+ myprintf("%hfa23 %hfa24 %hfa24 %hfa24", hfa23, hfa24, hfa24, hfa24);
321+ myprintf("%hfa22 %hfa24 %hfa24 %hfa24", hfa22, hfa24, hfa24, hfa24);
322+ myprintf("%hfa21 %hfa24 %hfa24 %hfa24", hfa21, hfa24, hfa24, hfa24);
323+
324+ myprintf("%hfa22 %hfa23 %hfa23 %hfa23 %hfa23",
325+ hfa22, hfa23, hfa23, hfa23, hfa23);
326+ myprintf("%hfa21 %hfa23 %hfa23 %hfa23 %hfa23",
327+ hfa21, hfa23, hfa23, hfa23, hfa23);
328+ myprintf("%hfa23 %hfa23 %hfa23 %hfa23",
329+ hfa23, hfa23, hfa23, hfa23);
330+
331+ myprintf("%hfa24 %hfa22 %hfa22 %hfa22 %hfa22",
332+ hfa24, hfa22, hfa22, hfa22, hfa22);
333+ myprintf("%hfa23 %hfa22 %hfa22 %hfa22 %hfa22",
334+ hfa23, hfa22, hfa22, hfa22, hfa22);
335+
336+ myprintf("%hfa24 %hfa22 %hfa21 %hfa21 %hfa21 %hfa21",
337+ hfa24, hfa22, hfa21, hfa21, hfa21, hfa21);
338+
339+ myprintf("HFA float:");
340+ myprintf("%hfa14 %hfa14 %hfa14 %hfa14", hfa14, hfa14, hfa14, hfa14);
341+ myprintf("%hfa13 %hfa14 %hfa14 %hfa14", hfa13, hfa14, hfa14, hfa14);
342+ myprintf("%hfa12 %hfa14 %hfa14 %hfa14", hfa12, hfa14, hfa14, hfa14);
343+ myprintf("%hfa11 %hfa14 %hfa14 %hfa14", hfa11, hfa14, hfa14, hfa14);
344+
345+ myprintf("%hfa12 %hfa13 %hfa13 %hfa13 %hfa13",
346+ hfa12, hfa13, hfa13, hfa13, hfa13);
347+ myprintf("%hfa11 %hfa13 %hfa13 %hfa13 %hfa13",
348+ hfa11, hfa13, hfa13, hfa13, hfa13);
349+ myprintf("%hfa13 %hfa13 %hfa13 %hfa13",
350+ hfa13, hfa13, hfa13, hfa13);
351+
352+ myprintf("%hfa14 %hfa12 %hfa12 %hfa12 %hfa12",
353+ hfa14, hfa12, hfa12, hfa12, hfa12);
354+ myprintf("%hfa13 %hfa12 %hfa12 %hfa12 %hfa12",
355+ hfa13, hfa12, hfa12, hfa12, hfa12);
356+
357+ myprintf("%hfa14 %hfa12 %hfa11 %hfa11 %hfa11 %hfa11",
358+ hfa14, hfa12, hfa11, hfa11, hfa11, hfa11);
359+}
360+
361+void pll(unsigned long long x)
362+{
363+ printf("%llx\n", x);
364+}
365+
366+void movi(void)
367+{
368+ printf("MOVI:\n");
369+ pll(0);
370+ pll(0xabcd);
371+ pll(0xabcd0000);
372+ pll(0xabcd00000000);
373+ pll(0xabcd000000000000);
374+ pll(0xffffabcd);
375+ pll(0xabcdffff);
376+ pll(0xffffffffffffabcd);
377+ pll(0xffffffffabcdffff);
378+ pll(0xffffabcdffffffff);
379+ pll(0xabcdffffffffffff);
380+ pll(0xaaaaaaaa);
381+ pll(0x5555555555555555);
382+ pll(0x77777777);
383+ pll(0x3333333333333333);
384+ pll(0xf8f8f8f8);
385+ pll(0x1e1e1e1e1e1e1e1e);
386+ pll(0x3f803f80);
387+ pll(0x01ff01ff01ff01ff);
388+ pll(0x007fffc0);
389+ pll(0x03fff80003fff800);
390+ pll(0x0007fffffffffe00);
391+}
392+
393+void pcs(void)
394+{
395+ arg();
396+ ret();
397+ stdarg();
398+ movi();
399+}
400+
401+int main()
402+{
403+ pcs();
404+ return 0;
405+}
tests/tests2/73_arm64.expect+123−0
@@ -0,0 +1,123 @@
1+Arguments:
2+0
3+12
4+345
5+6789
6+abcde
7+fghijk
8+lmnopqr
9+stuvwxyz
10+ABCDEFGHI
11+JKLMNOPQRS
12+TUVWXYZ0123
13+456789abcdef
14+ghijklmnopqrs
15+tuvwxyzABCDEFG
16+HIJKLMNOPQRSTUV
17+WXYZ0123456789ab
18+cdefghijklmnopqrs
19+11.1
20+12.1 12.1
21+13.1 13.2 13.3
22+14.1 14.2 14.3 14.4
23+21.1
24+22.1 22.1
25+23.1 23.2 23.3
26+24.1 24.2 24.3 24.4
27+31.1
28+32.1 32.1
29+33.1 33.2 33.3
30+34.1 34.2 34.3 34.4
31+stu ABC JKL TUV 456 ghi
32+ABC JKL TUV 456 ghi tuv
33+14.1 14.4 23.1 23.3 32.1 32.2
34+0 14.1 14.4 12 24.1 24.4 345 34.1 34.4
35+Return values:
36+0
37+12
38+345
39+6789
40+abcde
41+fghijk
42+lmnopqr
43+stuvwxyz
44+ABCDEFGHI
45+JKLMNOPQRS
46+TUVWXYZ0123
47+456789abcdef
48+ghijklmnopqrs
49+tuvwxyzABCDEFG
50+HIJKLMNOPQRSTUV
51+WXYZ0123456789ab
52+cdefghijklmnopqrs
53+11.1
54+12.1 12.2
55+13.1 13.3
56+14.1 14.4
57+21.1
58+22.1 22.2
59+23.1 23.3
60+24.1 24.4
61+31.1
62+32.1 32.2
63+33.1 33.3
64+34.1 34.4
65+stdarg:
66+ABCDEFGHI ABCDEFGHI ABCDEFGHI ABCDEFGHI ABCDEFGHI ABCDEFGHI
67+lmnopqr ABCDEFGHI ABCDEFGHI ABCDEFGHI ABCDEFGHI ABCDEFGHI
68+HFA long double:
69+34.1,34.4 34.1,34.4 34.1,34.4 34.1,34.4
70+33.1,33.3 34.1,34.4 34.1,34.4 34.1,34.4
71+32.1,32.2 34.1,34.4 34.1,34.4 34.1,34.4
72+31.1,31.1 34.1,34.4 34.1,34.4 34.1,34.4
73+32.1,32.2 33.1,33.3 33.1,33.3 33.1,33.3 33.1,33.3
74+31.1,31.1 33.1,33.3 33.1,33.3 33.1,33.3 33.1,33.3
75+33.1,33.3 33.1,33.3 33.1,33.3 33.1,33.3
76+34.1,34.4 32.1,32.2 32.1,32.2 32.1,32.2 32.1,32.2
77+33.1,33.3 32.1,32.2 32.1,32.2 32.1,32.2 32.1,32.2
78+34.1,34.4 32.1,32.2 31.1,31.1 31.1,31.1 31.1,31.1 31.1,31.1
79+HFA double:
80+24.1,24.4 24.1,24.4 24.1,24.4 24.1,24.4
81+23.1,23.3 24.1,24.4 24.1,24.4 24.1,24.4
82+22.1,22.2 24.1,24.4 24.1,24.4 24.1,24.4
83+21.1,21.1 24.1,24.4 24.1,24.4 24.1,24.4
84+22.1,22.2 23.1,23.3 23.1,23.3 23.1,23.3 23.1,23.3
85+21.1,21.1 23.1,23.3 23.1,23.3 23.1,23.3 23.1,23.3
86+23.1,23.3 23.1,23.3 23.1,23.3 23.1,23.3
87+24.1,24.4 22.1,22.2 22.1,22.2 22.1,22.2 22.1,22.2
88+23.1,23.3 22.1,22.2 22.1,22.2 22.1,22.2 22.1,22.2
89+24.1,24.4 22.1,22.2 21.1,21.1 21.1,21.1 21.1,21.1 21.1,21.1
90+HFA float:
91+14.1,14.4 14.1,14.4 14.1,14.4 14.1,14.4
92+13.1,13.3 14.1,14.4 14.1,14.4 14.1,14.4
93+12.1,12.2 14.1,14.4 14.1,14.4 14.1,14.4
94+11.1,11.1 14.1,14.4 14.1,14.4 14.1,14.4
95+12.1,12.2 13.1,13.3 13.1,13.3 13.1,13.3 13.1,13.3
96+11.1,11.1 13.1,13.3 13.1,13.3 13.1,13.3 13.1,13.3
97+13.1,13.3 13.1,13.3 13.1,13.3 13.1,13.3
98+14.1,14.4 12.1,12.2 12.1,12.2 12.1,12.2 12.1,12.2
99+13.1,13.3 12.1,12.2 12.1,12.2 12.1,12.2 12.1,12.2
100+14.1,14.4 12.1,12.2 11.1,11.1 11.1,11.1 11.1,11.1 11.1,11.1
101+MOVI:
102+0
103+abcd
104+abcd0000
105+abcd00000000
106+abcd000000000000
107+ffffabcd
108+abcdffff
109+ffffffffffffabcd
110+ffffffffabcdffff
111+ffffabcdffffffff
112+abcdffffffffffff
113+aaaaaaaa
114+5555555555555555
115+77777777
116+3333333333333333
117+f8f8f8f8
118+1e1e1e1e1e1e1e1e
119+3f803f80
120+1ff01ff01ff01ff
121+7fffc0
122+3fff80003fff800
123+7fffffffffe00
tests/tests2/Makefile+1−0
@@ -92,6 +92,7 @@ TESTS = \ · 91 unmodified lines
9292 70_floating_point_literals.test \
9393 71_macro_empty_arg.test \
9494 72_long_long_constant.test \
95+ 73_arm64.test \
9596
9697
9798 # 34_array_assignment.test -- array assignment is not in C standard

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t