authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2025-07-14 18:00:46-07:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2025-07-16 10:27:39-07:00
log76d04c1662e638854f84b6b32cca04ea1acd80c3
tree052a32db00bb994e5b4a8e3a95d9856668e8871b
parent87ce83d5a5854b63b7cef5c6209742ee1a524107

zig fmt


36 files changed, 311 insertions(+), 618 deletions(-)

lib/compiler_rt/aarch64_outline_atomics.zig+100-200
......@@ -28,8 +28,7 @@ fn __aarch64_cas1_relax() align(16) callconv(.naked) void {
2828 \\ ret
2929 :
3030 : [__aarch64_have_lse_atomics] "{w16}" (__aarch64_have_lse_atomics),
31 : "w15", "w16", "w17", "memory"
32 );
31 : .{ .w15 = true, .w16 = true, .w17 = true, .memory = true });
3332 unreachable;
3433}
3534fn __aarch64_swp1_relax() align(16) callconv(.naked) void {
......@@ -48,8 +47,7 @@ fn __aarch64_swp1_relax() align(16) callconv(.naked) void {
4847 \\ ret
4948 :
5049 : [__aarch64_have_lse_atomics] "{w16}" (__aarch64_have_lse_atomics),
51 : "w15", "w16", "w17", "memory"
52 );
50 : .{ .w15 = true, .w16 = true, .w17 = true, .memory = true });
5351 unreachable;
5452}
5553fn __aarch64_ldadd1_relax() align(16) callconv(.naked) void {
......@@ -69,8 +67,7 @@ fn __aarch64_ldadd1_relax() align(16) callconv(.naked) void {
6967 \\ ret
7068 :
7169 : [__aarch64_have_lse_atomics] "{w16}" (__aarch64_have_lse_atomics),
72 : "w15", "w16", "w17", "memory"
73 );
70 : .{ .w15 = true, .w16 = true, .w17 = true, .memory = true });
7471 unreachable;
7572}
7673fn __aarch64_ldclr1_relax() align(16) callconv(.naked) void {
......@@ -90,8 +87,7 @@ fn __aarch64_ldclr1_relax() align(16) callconv(.naked) void {
9087 \\ ret
9188 :
9289 : [__aarch64_have_lse_atomics] "{w16}" (__aarch64_have_lse_atomics),
93 : "w15", "w16", "w17", "memory"
94 );
90 : .{ .w15 = true, .w16 = true, .w17 = true, .memory = true });
9591 unreachable;
9692}
9793fn __aarch64_ldeor1_relax() align(16) callconv(.naked) void {
......@@ -111,8 +107,7 @@ fn __aarch64_ldeor1_relax() align(16) callconv(.naked) void {
111107 \\ ret
112108 :
113109 : [__aarch64_have_lse_atomics] "{w16}" (__aarch64_have_lse_atomics),
114 : "w15", "w16", "w17", "memory"
115 );
110 : .{ .w15 = true, .w16 = true, .w17 = true, .memory = true });
116111 unreachable;
117112}
118113fn __aarch64_ldset1_relax() align(16) callconv(.naked) void {
......@@ -132,8 +127,7 @@ fn __aarch64_ldset1_relax() align(16) callconv(.naked) void {
132127 \\ ret
133128 :
134129 : [__aarch64_have_lse_atomics] "{w16}" (__aarch64_have_lse_atomics),
135 : "w15", "w16", "w17", "memory"
136 );
130 : .{ .w15 = true, .w16 = true, .w17 = true, .memory = true });
137131 unreachable;
138132}
139133fn __aarch64_cas1_acq() align(16) callconv(.naked) void {
......@@ -154,8 +148,7 @@ fn __aarch64_cas1_acq() align(16) callconv(.naked) void {
154148 \\ ret
155149 :
156150 : [__aarch64_have_lse_atomics] "{w16}" (__aarch64_have_lse_atomics),
157 : "w15", "w16", "w17", "memory"
158 );
151 : .{ .w15 = true, .w16 = true, .w17 = true, .memory = true });
159152 unreachable;
160153}
161154fn __aarch64_swp1_acq() align(16) callconv(.naked) void {
......@@ -174,8 +167,7 @@ fn __aarch64_swp1_acq() align(16) callconv(.naked) void {
174167 \\ ret
175168 :
176169 : [__aarch64_have_lse_atomics] "{w16}" (__aarch64_have_lse_atomics),
177 : "w15", "w16", "w17", "memory"
178 );
170 : .{ .w15 = true, .w16 = true, .w17 = true, .memory = true });
179171 unreachable;
180172}
181173fn __aarch64_ldadd1_acq() align(16) callconv(.naked) void {
......@@ -195,8 +187,7 @@ fn __aarch64_ldadd1_acq() align(16) callconv(.naked) void {
195187 \\ ret
196188 :
197189 : [__aarch64_have_lse_atomics] "{w16}" (__aarch64_have_lse_atomics),
198 : "w15", "w16", "w17", "memory"
199 );
190 : .{ .w15 = true, .w16 = true, .w17 = true, .memory = true });
200191 unreachable;
201192}
202193fn __aarch64_ldclr1_acq() align(16) callconv(.naked) void {
......@@ -216,8 +207,7 @@ fn __aarch64_ldclr1_acq() align(16) callconv(.naked) void {
216207 \\ ret
217208 :
218209 : [__aarch64_have_lse_atomics] "{w16}" (__aarch64_have_lse_atomics),
219 : "w15", "w16", "w17", "memory"
220 );
210 : .{ .w15 = true, .w16 = true, .w17 = true, .memory = true });
221211 unreachable;
222212}
223213fn __aarch64_ldeor1_acq() align(16) callconv(.naked) void {
......@@ -237,8 +227,7 @@ fn __aarch64_ldeor1_acq() align(16) callconv(.naked) void {
237227 \\ ret
238228 :
239229 : [__aarch64_have_lse_atomics] "{w16}" (__aarch64_have_lse_atomics),
240 : "w15", "w16", "w17", "memory"
241 );
230 : .{ .w15 = true, .w16 = true, .w17 = true, .memory = true });
242231 unreachable;
243232}
244233fn __aarch64_ldset1_acq() align(16) callconv(.naked) void {
......@@ -258,8 +247,7 @@ fn __aarch64_ldset1_acq() align(16) callconv(.naked) void {
258247 \\ ret
259248 :
260249 : [__aarch64_have_lse_atomics] "{w16}" (__aarch64_have_lse_atomics),
261 : "w15", "w16", "w17", "memory"
262 );
250 : .{ .w15 = true, .w16 = true, .w17 = true, .memory = true });
263251 unreachable;
264252}
265253fn __aarch64_cas1_rel() align(16) callconv(.naked) void {
......@@ -280,8 +268,7 @@ fn __aarch64_cas1_rel() align(16) callconv(.naked) void {
280268 \\ ret
281269 :
282270 : [__aarch64_have_lse_atomics] "{w16}" (__aarch64_have_lse_atomics),
283 : "w15", "w16", "w17", "memory"
284 );
271 : .{ .w15 = true, .w16 = true, .w17 = true, .memory = true });
285272 unreachable;
286273}
287274fn __aarch64_swp1_rel() align(16) callconv(.naked) void {
......@@ -300,8 +287,7 @@ fn __aarch64_swp1_rel() align(16) callconv(.naked) void {
300287 \\ ret
301288 :
302289 : [__aarch64_have_lse_atomics] "{w16}" (__aarch64_have_lse_atomics),
303 : "w15", "w16", "w17", "memory"
304 );
290 : .{ .w15 = true, .w16 = true, .w17 = true, .memory = true });
305291 unreachable;
306292}
307293fn __aarch64_ldadd1_rel() align(16) callconv(.naked) void {
......@@ -321,8 +307,7 @@ fn __aarch64_ldadd1_rel() align(16) callconv(.naked) void {
321307 \\ ret
322308 :
323309 : [__aarch64_have_lse_atomics] "{w16}" (__aarch64_have_lse_atomics),
324 : "w15", "w16", "w17", "memory"
325 );
310 : .{ .w15 = true, .w16 = true, .w17 = true, .memory = true });
326311 unreachable;
327312}
328313fn __aarch64_ldclr1_rel() align(16) callconv(.naked) void {
......@@ -342,8 +327,7 @@ fn __aarch64_ldclr1_rel() align(16) callconv(.naked) void {
342327 \\ ret
343328 :
344329 : [__aarch64_have_lse_atomics] "{w16}" (__aarch64_have_lse_atomics),
345 : "w15", "w16", "w17", "memory"
346 );
330 : .{ .w15 = true, .w16 = true, .w17 = true, .memory = true });
347331 unreachable;
348332}
349333fn __aarch64_ldeor1_rel() align(16) callconv(.naked) void {
......@@ -363,8 +347,7 @@ fn __aarch64_ldeor1_rel() align(16) callconv(.naked) void {
363347 \\ ret
364348 :
365349 : [__aarch64_have_lse_atomics] "{w16}" (__aarch64_have_lse_atomics),
366 : "w15", "w16", "w17", "memory"
367 );
350 : .{ .w15 = true, .w16 = true, .w17 = true, .memory = true });
368351 unreachable;
369352}
370353fn __aarch64_ldset1_rel() align(16) callconv(.naked) void {
......@@ -384,8 +367,7 @@ fn __aarch64_ldset1_rel() align(16) callconv(.naked) void {
384367 \\ ret
385368 :
386369 : [__aarch64_have_lse_atomics] "{w16}" (__aarch64_have_lse_atomics),
387 : "w15", "w16", "w17", "memory"
388 );
370 : .{ .w15 = true, .w16 = true, .w17 = true, .memory = true });
389371 unreachable;
390372}
391373fn __aarch64_cas1_acq_rel() align(16) callconv(.naked) void {
......@@ -406,8 +388,7 @@ fn __aarch64_cas1_acq_rel() align(16) callconv(.naked) void {
406388 \\ ret
407389 :
408390 : [__aarch64_have_lse_atomics] "{w16}" (__aarch64_have_lse_atomics),
409 : "w15", "w16", "w17", "memory"
410 );
391 : .{ .w15 = true, .w16 = true, .w17 = true, .memory = true });
411392 unreachable;
412393}
413394fn __aarch64_swp1_acq_rel() align(16) callconv(.naked) void {
......@@ -426,8 +407,7 @@ fn __aarch64_swp1_acq_rel() align(16) callconv(.naked) void {
426407 \\ ret
427408 :
428409 : [__aarch64_have_lse_atomics] "{w16}" (__aarch64_have_lse_atomics),
429 : "w15", "w16", "w17", "memory"
430 );
410 : .{ .w15 = true, .w16 = true, .w17 = true, .memory = true });
431411 unreachable;
432412}
433413fn __aarch64_ldadd1_acq_rel() align(16) callconv(.naked) void {
......@@ -447,8 +427,7 @@ fn __aarch64_ldadd1_acq_rel() align(16) callconv(.naked) void {
447427 \\ ret
448428 :
449429 : [__aarch64_have_lse_atomics] "{w16}" (__aarch64_have_lse_atomics),
450 : "w15", "w16", "w17", "memory"
451 );
430 : .{ .w15 = true, .w16 = true, .w17 = true, .memory = true });
452431 unreachable;
453432}
454433fn __aarch64_ldclr1_acq_rel() align(16) callconv(.naked) void {
......@@ -468,8 +447,7 @@ fn __aarch64_ldclr1_acq_rel() align(16) callconv(.naked) void {
468447 \\ ret
469448 :
470449 : [__aarch64_have_lse_atomics] "{w16}" (__aarch64_have_lse_atomics),
471 : "w15", "w16", "w17", "memory"
472 );
450 : .{ .w15 = true, .w16 = true, .w17 = true, .memory = true });
473451 unreachable;
474452}
475453fn __aarch64_ldeor1_acq_rel() align(16) callconv(.naked) void {
......@@ -489,8 +467,7 @@ fn __aarch64_ldeor1_acq_rel() align(16) callconv(.naked) void {
489467 \\ ret
490468 :
491469 : [__aarch64_have_lse_atomics] "{w16}" (__aarch64_have_lse_atomics),
492 : "w15", "w16", "w17", "memory"
493 );
470 : .{ .w15 = true, .w16 = true, .w17 = true, .memory = true });
494471 unreachable;
495472}
496473fn __aarch64_ldset1_acq_rel() align(16) callconv(.naked) void {
......@@ -510,8 +487,7 @@ fn __aarch64_ldset1_acq_rel() align(16) callconv(.naked) void {
510487 \\ ret
511488 :
512489 : [__aarch64_have_lse_atomics] "{w16}" (__aarch64_have_lse_atomics),
513 : "w15", "w16", "w17", "memory"
514 );
490 : .{ .w15 = true, .w16 = true, .w17 = true, .memory = true });
515491 unreachable;
516492}
517493fn __aarch64_cas2_relax() align(16) callconv(.naked) void {
......@@ -532,8 +508,7 @@ fn __aarch64_cas2_relax() align(16) callconv(.naked) void {
532508 \\ ret
533509 :
534510 : [__aarch64_have_lse_atomics] "{w16}" (__aarch64_have_lse_atomics),
535 : "w15", "w16", "w17", "memory"
536 );
511 : .{ .w15 = true, .w16 = true, .w17 = true, .memory = true });
537512 unreachable;
538513}
539514fn __aarch64_swp2_relax() align(16) callconv(.naked) void {
......@@ -552,8 +527,7 @@ fn __aarch64_swp2_relax() align(16) callconv(.naked) void {
552527 \\ ret
553528 :
554529 : [__aarch64_have_lse_atomics] "{w16}" (__aarch64_have_lse_atomics),
555 : "w15", "w16", "w17", "memory"
556 );
530 : .{ .w15 = true, .w16 = true, .w17 = true, .memory = true });
557531 unreachable;
558532}
559533fn __aarch64_ldadd2_relax() align(16) callconv(.naked) void {
......@@ -573,8 +547,7 @@ fn __aarch64_ldadd2_relax() align(16) callconv(.naked) void {
573547 \\ ret
574548 :
575549 : [__aarch64_have_lse_atomics] "{w16}" (__aarch64_have_lse_atomics),
576 : "w15", "w16", "w17", "memory"
577 );
550 : .{ .w15 = true, .w16 = true, .w17 = true, .memory = true });
578551 unreachable;
579552}
580553fn __aarch64_ldclr2_relax() align(16) callconv(.naked) void {
......@@ -594,8 +567,7 @@ fn __aarch64_ldclr2_relax() align(16) callconv(.naked) void {
594567 \\ ret
595568 :
596569 : [__aarch64_have_lse_atomics] "{w16}" (__aarch64_have_lse_atomics),
597 : "w15", "w16", "w17", "memory"
598 );
570 : .{ .w15 = true, .w16 = true, .w17 = true, .memory = true });
599571 unreachable;
600572}
601573fn __aarch64_ldeor2_relax() align(16) callconv(.naked) void {
......@@ -615,8 +587,7 @@ fn __aarch64_ldeor2_relax() align(16) callconv(.naked) void {
615587 \\ ret
616588 :
617589 : [__aarch64_have_lse_atomics] "{w16}" (__aarch64_have_lse_atomics),
618 : "w15", "w16", "w17", "memory"
619 );
590 : .{ .w15 = true, .w16 = true, .w17 = true, .memory = true });
620591 unreachable;
621592}
622593fn __aarch64_ldset2_relax() align(16) callconv(.naked) void {
......@@ -636,8 +607,7 @@ fn __aarch64_ldset2_relax() align(16) callconv(.naked) void {
636607 \\ ret
637608 :
638609 : [__aarch64_have_lse_atomics] "{w16}" (__aarch64_have_lse_atomics),
639 : "w15", "w16", "w17", "memory"
640 );
610 : .{ .w15 = true, .w16 = true, .w17 = true, .memory = true });
641611 unreachable;
642612}
643613fn __aarch64_cas2_acq() align(16) callconv(.naked) void {
......@@ -658,8 +628,7 @@ fn __aarch64_cas2_acq() align(16) callconv(.naked) void {
658628 \\ ret
659629 :
660630 : [__aarch64_have_lse_atomics] "{w16}" (__aarch64_have_lse_atomics),
661 : "w15", "w16", "w17", "memory"
662 );
631 : .{ .w15 = true, .w16 = true, .w17 = true, .memory = true });
663632 unreachable;
664633}
665634fn __aarch64_swp2_acq() align(16) callconv(.naked) void {
......@@ -678,8 +647,7 @@ fn __aarch64_swp2_acq() align(16) callconv(.naked) void {
678647 \\ ret
679648 :
680649 : [__aarch64_have_lse_atomics] "{w16}" (__aarch64_have_lse_atomics),
681 : "w15", "w16", "w17", "memory"
682 );
650 : .{ .w15 = true, .w16 = true, .w17 = true, .memory = true });
683651 unreachable;
684652}
685653fn __aarch64_ldadd2_acq() align(16) callconv(.naked) void {
......@@ -699,8 +667,7 @@ fn __aarch64_ldadd2_acq() align(16) callconv(.naked) void {
699667 \\ ret
700668 :
701669 : [__aarch64_have_lse_atomics] "{w16}" (__aarch64_have_lse_atomics),
702 : "w15", "w16", "w17", "memory"
703 );
670 : .{ .w15 = true, .w16 = true, .w17 = true, .memory = true });
704671 unreachable;
705672}
706673fn __aarch64_ldclr2_acq() align(16) callconv(.naked) void {
......@@ -720,8 +687,7 @@ fn __aarch64_ldclr2_acq() align(16) callconv(.naked) void {
720687 \\ ret
721688 :
722689 : [__aarch64_have_lse_atomics] "{w16}" (__aarch64_have_lse_atomics),
723 : "w15", "w16", "w17", "memory"
724 );
690 : .{ .w15 = true, .w16 = true, .w17 = true, .memory = true });
725691 unreachable;
726692}
727693fn __aarch64_ldeor2_acq() align(16) callconv(.naked) void {
......@@ -741,8 +707,7 @@ fn __aarch64_ldeor2_acq() align(16) callconv(.naked) void {
741707 \\ ret
742708 :
743709 : [__aarch64_have_lse_atomics] "{w16}" (__aarch64_have_lse_atomics),
744 : "w15", "w16", "w17", "memory"
745 );
710 : .{ .w15 = true, .w16 = true, .w17 = true, .memory = true });
746711 unreachable;
747712}
748713fn __aarch64_ldset2_acq() align(16) callconv(.naked) void {
......@@ -762,8 +727,7 @@ fn __aarch64_ldset2_acq() align(16) callconv(.naked) void {
762727 \\ ret
763728 :
764729 : [__aarch64_have_lse_atomics] "{w16}" (__aarch64_have_lse_atomics),
765 : "w15", "w16", "w17", "memory"
766 );
730 : .{ .w15 = true, .w16 = true, .w17 = true, .memory = true });
767731 unreachable;
768732}
769733fn __aarch64_cas2_rel() align(16) callconv(.naked) void {
......@@ -784,8 +748,7 @@ fn __aarch64_cas2_rel() align(16) callconv(.naked) void {
784748 \\ ret
785749 :
786750 : [__aarch64_have_lse_atomics] "{w16}" (__aarch64_have_lse_atomics),
787 : "w15", "w16", "w17", "memory"
788 );
751 : .{ .w15 = true, .w16 = true, .w17 = true, .memory = true });
789752 unreachable;
790753}
791754fn __aarch64_swp2_rel() align(16) callconv(.naked) void {
......@@ -804,8 +767,7 @@ fn __aarch64_swp2_rel() align(16) callconv(.naked) void {
804767 \\ ret
805768 :
806769 : [__aarch64_have_lse_atomics] "{w16}" (__aarch64_have_lse_atomics),
807 : "w15", "w16", "w17", "memory"
808 );
770 : .{ .w15 = true, .w16 = true, .w17 = true, .memory = true });
809771 unreachable;
810772}
811773fn __aarch64_ldadd2_rel() align(16) callconv(.naked) void {
......@@ -825,8 +787,7 @@ fn __aarch64_ldadd2_rel() align(16) callconv(.naked) void {
825787 \\ ret
826788 :
827789 : [__aarch64_have_lse_atomics] "{w16}" (__aarch64_have_lse_atomics),
828 : "w15", "w16", "w17", "memory"
829 );
790 : .{ .w15 = true, .w16 = true, .w17 = true, .memory = true });
830791 unreachable;
831792}
832793fn __aarch64_ldclr2_rel() align(16) callconv(.naked) void {
......@@ -846,8 +807,7 @@ fn __aarch64_ldclr2_rel() align(16) callconv(.naked) void {
846807 \\ ret
847808 :
848809 : [__aarch64_have_lse_atomics] "{w16}" (__aarch64_have_lse_atomics),
849 : "w15", "w16", "w17", "memory"
850 );
810 : .{ .w15 = true, .w16 = true, .w17 = true, .memory = true });
851811 unreachable;
852812}
853813fn __aarch64_ldeor2_rel() align(16) callconv(.naked) void {
......@@ -867,8 +827,7 @@ fn __aarch64_ldeor2_rel() align(16) callconv(.naked) void {
867827 \\ ret
868828 :
869829 : [__aarch64_have_lse_atomics] "{w16}" (__aarch64_have_lse_atomics),
870 : "w15", "w16", "w17", "memory"
871 );
830 : .{ .w15 = true, .w16 = true, .w17 = true, .memory = true });
872831 unreachable;
873832}
874833fn __aarch64_ldset2_rel() align(16) callconv(.naked) void {
......@@ -888,8 +847,7 @@ fn __aarch64_ldset2_rel() align(16) callconv(.naked) void {
888847 \\ ret
889848 :
890849 : [__aarch64_have_lse_atomics] "{w16}" (__aarch64_have_lse_atomics),
891 : "w15", "w16", "w17", "memory"
892 );
850 : .{ .w15 = true, .w16 = true, .w17 = true, .memory = true });
893851 unreachable;
894852}
895853fn __aarch64_cas2_acq_rel() align(16) callconv(.naked) void {
......@@ -910,8 +868,7 @@ fn __aarch64_cas2_acq_rel() align(16) callconv(.naked) void {
910868 \\ ret
911869 :
912870 : [__aarch64_have_lse_atomics] "{w16}" (__aarch64_have_lse_atomics),
913 : "w15", "w16", "w17", "memory"
914 );
871 : .{ .w15 = true, .w16 = true, .w17 = true, .memory = true });
915872 unreachable;
916873}
917874fn __aarch64_swp2_acq_rel() align(16) callconv(.naked) void {
......@@ -930,8 +887,7 @@ fn __aarch64_swp2_acq_rel() align(16) callconv(.naked) void {
930887 \\ ret
931888 :
932889 : [__aarch64_have_lse_atomics] "{w16}" (__aarch64_have_lse_atomics),
933 : "w15", "w16", "w17", "memory"
934 );
890 : .{ .w15 = true, .w16 = true, .w17 = true, .memory = true });
935891 unreachable;
936892}
937893fn __aarch64_ldadd2_acq_rel() align(16) callconv(.naked) void {
......@@ -951,8 +907,7 @@ fn __aarch64_ldadd2_acq_rel() align(16) callconv(.naked) void {
951907 \\ ret
952908 :
953909 : [__aarch64_have_lse_atomics] "{w16}" (__aarch64_have_lse_atomics),
954 : "w15", "w16", "w17", "memory"
955 );
910 : .{ .w15 = true, .w16 = true, .w17 = true, .memory = true });
956911 unreachable;
957912}
958913fn __aarch64_ldclr2_acq_rel() align(16) callconv(.naked) void {
......@@ -972,8 +927,7 @@ fn __aarch64_ldclr2_acq_rel() align(16) callconv(.naked) void {
972927 \\ ret
973928 :
974929 : [__aarch64_have_lse_atomics] "{w16}" (__aarch64_have_lse_atomics),
975 : "w15", "w16", "w17", "memory"
976 );
930 : .{ .w15 = true, .w16 = true, .w17 = true, .memory = true });
977931 unreachable;
978932}
979933fn __aarch64_ldeor2_acq_rel() align(16) callconv(.naked) void {
......@@ -993,8 +947,7 @@ fn __aarch64_ldeor2_acq_rel() align(16) callconv(.naked) void {
993947 \\ ret
994948 :
995949 : [__aarch64_have_lse_atomics] "{w16}" (__aarch64_have_lse_atomics),
996 : "w15", "w16", "w17", "memory"
997 );
950 : .{ .w15 = true, .w16 = true, .w17 = true, .memory = true });
998951 unreachable;
999952}
1000953fn __aarch64_ldset2_acq_rel() align(16) callconv(.naked) void {
......@@ -1014,8 +967,7 @@ fn __aarch64_ldset2_acq_rel() align(16) callconv(.naked) void {
1014967 \\ ret
1015968 :
1016969 : [__aarch64_have_lse_atomics] "{w16}" (__aarch64_have_lse_atomics),
1017 : "w15", "w16", "w17", "memory"
1018 );
970 : .{ .w15 = true, .w16 = true, .w17 = true, .memory = true });
1019971 unreachable;
1020972}
1021973fn __aarch64_cas4_relax() align(16) callconv(.naked) void {
......@@ -1036,8 +988,7 @@ fn __aarch64_cas4_relax() align(16) callconv(.naked) void {
1036988 \\ ret
1037989 :
1038990 : [__aarch64_have_lse_atomics] "{w16}" (__aarch64_have_lse_atomics),
1039 : "w15", "w16", "w17", "memory"
1040 );
991 : .{ .w15 = true, .w16 = true, .w17 = true, .memory = true });
1041992 unreachable;
1042993}
1043994fn __aarch64_swp4_relax() align(16) callconv(.naked) void {
......@@ -1056,8 +1007,7 @@ fn __aarch64_swp4_relax() align(16) callconv(.naked) void {
10561007 \\ ret
10571008 :
10581009 : [__aarch64_have_lse_atomics] "{w16}" (__aarch64_have_lse_atomics),
1059 : "w15", "w16", "w17", "memory"
1060 );
1010 : .{ .w15 = true, .w16 = true, .w17 = true, .memory = true });
10611011 unreachable;
10621012}
10631013fn __aarch64_ldadd4_relax() align(16) callconv(.naked) void {
......@@ -1077,8 +1027,7 @@ fn __aarch64_ldadd4_relax() align(16) callconv(.naked) void {
10771027 \\ ret
10781028 :
10791029 : [__aarch64_have_lse_atomics] "{w16}" (__aarch64_have_lse_atomics),
1080 : "w15", "w16", "w17", "memory"
1081 );
1030 : .{ .w15 = true, .w16 = true, .w17 = true, .memory = true });
10821031 unreachable;
10831032}
10841033fn __aarch64_ldclr4_relax() align(16) callconv(.naked) void {
......@@ -1098,8 +1047,7 @@ fn __aarch64_ldclr4_relax() align(16) callconv(.naked) void {
10981047 \\ ret
10991048 :
11001049 : [__aarch64_have_lse_atomics] "{w16}" (__aarch64_have_lse_atomics),
1101 : "w15", "w16", "w17", "memory"
1102 );
1050 : .{ .w15 = true, .w16 = true, .w17 = true, .memory = true });
11031051 unreachable;
11041052}
11051053fn __aarch64_ldeor4_relax() align(16) callconv(.naked) void {
......@@ -1119,8 +1067,7 @@ fn __aarch64_ldeor4_relax() align(16) callconv(.naked) void {
11191067 \\ ret
11201068 :
11211069 : [__aarch64_have_lse_atomics] "{w16}" (__aarch64_have_lse_atomics),
1122 : "w15", "w16", "w17", "memory"
1123 );
1070 : .{ .w15 = true, .w16 = true, .w17 = true, .memory = true });
11241071 unreachable;
11251072}
11261073fn __aarch64_ldset4_relax() align(16) callconv(.naked) void {
......@@ -1140,8 +1087,7 @@ fn __aarch64_ldset4_relax() align(16) callconv(.naked) void {
11401087 \\ ret
11411088 :
11421089 : [__aarch64_have_lse_atomics] "{w16}" (__aarch64_have_lse_atomics),
1143 : "w15", "w16", "w17", "memory"
1144 );
1090 : .{ .w15 = true, .w16 = true, .w17 = true, .memory = true });
11451091 unreachable;
11461092}
11471093fn __aarch64_cas4_acq() align(16) callconv(.naked) void {
......@@ -1162,8 +1108,7 @@ fn __aarch64_cas4_acq() align(16) callconv(.naked) void {
11621108 \\ ret
11631109 :
11641110 : [__aarch64_have_lse_atomics] "{w16}" (__aarch64_have_lse_atomics),
1165 : "w15", "w16", "w17", "memory"
1166 );
1111 : .{ .w15 = true, .w16 = true, .w17 = true, .memory = true });
11671112 unreachable;
11681113}
11691114fn __aarch64_swp4_acq() align(16) callconv(.naked) void {
......@@ -1182,8 +1127,7 @@ fn __aarch64_swp4_acq() align(16) callconv(.naked) void {
11821127 \\ ret
11831128 :
11841129 : [__aarch64_have_lse_atomics] "{w16}" (__aarch64_have_lse_atomics),
1185 : "w15", "w16", "w17", "memory"
1186 );
1130 : .{ .w15 = true, .w16 = true, .w17 = true, .memory = true });
11871131 unreachable;
11881132}
11891133fn __aarch64_ldadd4_acq() align(16) callconv(.naked) void {
......@@ -1203,8 +1147,7 @@ fn __aarch64_ldadd4_acq() align(16) callconv(.naked) void {
12031147 \\ ret
12041148 :
12051149 : [__aarch64_have_lse_atomics] "{w16}" (__aarch64_have_lse_atomics),
1206 : "w15", "w16", "w17", "memory"
1207 );
1150 : .{ .w15 = true, .w16 = true, .w17 = true, .memory = true });
12081151 unreachable;
12091152}
12101153fn __aarch64_ldclr4_acq() align(16) callconv(.naked) void {
......@@ -1224,8 +1167,7 @@ fn __aarch64_ldclr4_acq() align(16) callconv(.naked) void {
12241167 \\ ret
12251168 :
12261169 : [__aarch64_have_lse_atomics] "{w16}" (__aarch64_have_lse_atomics),
1227 : "w15", "w16", "w17", "memory"
1228 );
1170 : .{ .w15 = true, .w16 = true, .w17 = true, .memory = true });
12291171 unreachable;
12301172}
12311173fn __aarch64_ldeor4_acq() align(16) callconv(.naked) void {
......@@ -1245,8 +1187,7 @@ fn __aarch64_ldeor4_acq() align(16) callconv(.naked) void {
12451187 \\ ret
12461188 :
12471189 : [__aarch64_have_lse_atomics] "{w16}" (__aarch64_have_lse_atomics),
1248 : "w15", "w16", "w17", "memory"
1249 );
1190 : .{ .w15 = true, .w16 = true, .w17 = true, .memory = true });
12501191 unreachable;
12511192}
12521193fn __aarch64_ldset4_acq() align(16) callconv(.naked) void {
......@@ -1266,8 +1207,7 @@ fn __aarch64_ldset4_acq() align(16) callconv(.naked) void {
12661207 \\ ret
12671208 :
12681209 : [__aarch64_have_lse_atomics] "{w16}" (__aarch64_have_lse_atomics),
1269 : "w15", "w16", "w17", "memory"
1270 );
1210 : .{ .w15 = true, .w16 = true, .w17 = true, .memory = true });
12711211 unreachable;
12721212}
12731213fn __aarch64_cas4_rel() align(16) callconv(.naked) void {
......@@ -1288,8 +1228,7 @@ fn __aarch64_cas4_rel() align(16) callconv(.naked) void {
12881228 \\ ret
12891229 :
12901230 : [__aarch64_have_lse_atomics] "{w16}" (__aarch64_have_lse_atomics),
1291 : "w15", "w16", "w17", "memory"
1292 );
1231 : .{ .w15 = true, .w16 = true, .w17 = true, .memory = true });
12931232 unreachable;
12941233}
12951234fn __aarch64_swp4_rel() align(16) callconv(.naked) void {
......@@ -1308,8 +1247,7 @@ fn __aarch64_swp4_rel() align(16) callconv(.naked) void {
13081247 \\ ret
13091248 :
13101249 : [__aarch64_have_lse_atomics] "{w16}" (__aarch64_have_lse_atomics),
1311 : "w15", "w16", "w17", "memory"
1312 );
1250 : .{ .w15 = true, .w16 = true, .w17 = true, .memory = true });
13131251 unreachable;
13141252}
13151253fn __aarch64_ldadd4_rel() align(16) callconv(.naked) void {
......@@ -1329,8 +1267,7 @@ fn __aarch64_ldadd4_rel() align(16) callconv(.naked) void {
13291267 \\ ret
13301268 :
13311269 : [__aarch64_have_lse_atomics] "{w16}" (__aarch64_have_lse_atomics),
1332 : "w15", "w16", "w17", "memory"
1333 );
1270 : .{ .w15 = true, .w16 = true, .w17 = true, .memory = true });
13341271 unreachable;
13351272}
13361273fn __aarch64_ldclr4_rel() align(16) callconv(.naked) void {
......@@ -1350,8 +1287,7 @@ fn __aarch64_ldclr4_rel() align(16) callconv(.naked) void {
13501287 \\ ret
13511288 :
13521289 : [__aarch64_have_lse_atomics] "{w16}" (__aarch64_have_lse_atomics),
1353 : "w15", "w16", "w17", "memory"
1354 );
1290 : .{ .w15 = true, .w16 = true, .w17 = true, .memory = true });
13551291 unreachable;
13561292}
13571293fn __aarch64_ldeor4_rel() align(16) callconv(.naked) void {
......@@ -1371,8 +1307,7 @@ fn __aarch64_ldeor4_rel() align(16) callconv(.naked) void {
13711307 \\ ret
13721308 :
13731309 : [__aarch64_have_lse_atomics] "{w16}" (__aarch64_have_lse_atomics),
1374 : "w15", "w16", "w17", "memory"
1375 );
1310 : .{ .w15 = true, .w16 = true, .w17 = true, .memory = true });
13761311 unreachable;
13771312}
13781313fn __aarch64_ldset4_rel() align(16) callconv(.naked) void {
......@@ -1392,8 +1327,7 @@ fn __aarch64_ldset4_rel() align(16) callconv(.naked) void {
13921327 \\ ret
13931328 :
13941329 : [__aarch64_have_lse_atomics] "{w16}" (__aarch64_have_lse_atomics),
1395 : "w15", "w16", "w17", "memory"
1396 );
1330 : .{ .w15 = true, .w16 = true, .w17 = true, .memory = true });
13971331 unreachable;
13981332}
13991333fn __aarch64_cas4_acq_rel() align(16) callconv(.naked) void {
......@@ -1414,8 +1348,7 @@ fn __aarch64_cas4_acq_rel() align(16) callconv(.naked) void {
14141348 \\ ret
14151349 :
14161350 : [__aarch64_have_lse_atomics] "{w16}" (__aarch64_have_lse_atomics),
1417 : "w15", "w16", "w17", "memory"
1418 );
1351 : .{ .w15 = true, .w16 = true, .w17 = true, .memory = true });
14191352 unreachable;
14201353}
14211354fn __aarch64_swp4_acq_rel() align(16) callconv(.naked) void {
......@@ -1434,8 +1367,7 @@ fn __aarch64_swp4_acq_rel() align(16) callconv(.naked) void {
14341367 \\ ret
14351368 :
14361369 : [__aarch64_have_lse_atomics] "{w16}" (__aarch64_have_lse_atomics),
1437 : "w15", "w16", "w17", "memory"
1438 );
1370 : .{ .w15 = true, .w16 = true, .w17 = true, .memory = true });
14391371 unreachable;
14401372}
14411373fn __aarch64_ldadd4_acq_rel() align(16) callconv(.naked) void {
......@@ -1455,8 +1387,7 @@ fn __aarch64_ldadd4_acq_rel() align(16) callconv(.naked) void {
14551387 \\ ret
14561388 :
14571389 : [__aarch64_have_lse_atomics] "{w16}" (__aarch64_have_lse_atomics),
1458 : "w15", "w16", "w17", "memory"
1459 );
1390 : .{ .w15 = true, .w16 = true, .w17 = true, .memory = true });
14601391 unreachable;
14611392}
14621393fn __aarch64_ldclr4_acq_rel() align(16) callconv(.naked) void {
......@@ -1476,8 +1407,7 @@ fn __aarch64_ldclr4_acq_rel() align(16) callconv(.naked) void {
14761407 \\ ret
14771408 :
14781409 : [__aarch64_have_lse_atomics] "{w16}" (__aarch64_have_lse_atomics),
1479 : "w15", "w16", "w17", "memory"
1480 );
1410 : .{ .w15 = true, .w16 = true, .w17 = true, .memory = true });
14811411 unreachable;
14821412}
14831413fn __aarch64_ldeor4_acq_rel() align(16) callconv(.naked) void {
......@@ -1497,8 +1427,7 @@ fn __aarch64_ldeor4_acq_rel() align(16) callconv(.naked) void {
14971427 \\ ret
14981428 :
14991429 : [__aarch64_have_lse_atomics] "{w16}" (__aarch64_have_lse_atomics),
1500 : "w15", "w16", "w17", "memory"
1501 );
1430 : .{ .w15 = true, .w16 = true, .w17 = true, .memory = true });
15021431 unreachable;
15031432}
15041433fn __aarch64_ldset4_acq_rel() align(16) callconv(.naked) void {
......@@ -1518,8 +1447,7 @@ fn __aarch64_ldset4_acq_rel() align(16) callconv(.naked) void {
15181447 \\ ret
15191448 :
15201449 : [__aarch64_have_lse_atomics] "{w16}" (__aarch64_have_lse_atomics),
1521 : "w15", "w16", "w17", "memory"
1522 );
1450 : .{ .w15 = true, .w16 = true, .w17 = true, .memory = true });
15231451 unreachable;
15241452}
15251453fn __aarch64_cas8_relax() align(16) callconv(.naked) void {
......@@ -1540,8 +1468,7 @@ fn __aarch64_cas8_relax() align(16) callconv(.naked) void {
15401468 \\ ret
15411469 :
15421470 : [__aarch64_have_lse_atomics] "{w16}" (__aarch64_have_lse_atomics),
1543 : "w15", "w16", "w17", "memory"
1544 );
1471 : .{ .w15 = true, .w16 = true, .w17 = true, .memory = true });
15451472 unreachable;
15461473}
15471474fn __aarch64_swp8_relax() align(16) callconv(.naked) void {
......@@ -1560,8 +1487,7 @@ fn __aarch64_swp8_relax() align(16) callconv(.naked) void {
15601487 \\ ret
15611488 :
15621489 : [__aarch64_have_lse_atomics] "{w16}" (__aarch64_have_lse_atomics),
1563 : "w15", "w16", "w17", "memory"
1564 );
1490 : .{ .w15 = true, .w16 = true, .w17 = true, .memory = true });
15651491 unreachable;
15661492}
15671493fn __aarch64_ldadd8_relax() align(16) callconv(.naked) void {
......@@ -1581,8 +1507,7 @@ fn __aarch64_ldadd8_relax() align(16) callconv(.naked) void {
15811507 \\ ret
15821508 :
15831509 : [__aarch64_have_lse_atomics] "{w16}" (__aarch64_have_lse_atomics),
1584 : "w15", "w16", "w17", "memory"
1585 );
1510 : .{ .w15 = true, .w16 = true, .w17 = true, .memory = true });
15861511 unreachable;
15871512}
15881513fn __aarch64_ldclr8_relax() align(16) callconv(.naked) void {
......@@ -1602,8 +1527,7 @@ fn __aarch64_ldclr8_relax() align(16) callconv(.naked) void {
16021527 \\ ret
16031528 :
16041529 : [__aarch64_have_lse_atomics] "{w16}" (__aarch64_have_lse_atomics),
1605 : "w15", "w16", "w17", "memory"
1606 );
1530 : .{ .w15 = true, .w16 = true, .w17 = true, .memory = true });
16071531 unreachable;
16081532}
16091533fn __aarch64_ldeor8_relax() align(16) callconv(.naked) void {
......@@ -1623,8 +1547,7 @@ fn __aarch64_ldeor8_relax() align(16) callconv(.naked) void {
16231547 \\ ret
16241548 :
16251549 : [__aarch64_have_lse_atomics] "{w16}" (__aarch64_have_lse_atomics),
1626 : "w15", "w16", "w17", "memory"
1627 );
1550 : .{ .w15 = true, .w16 = true, .w17 = true, .memory = true });
16281551 unreachable;
16291552}
16301553fn __aarch64_ldset8_relax() align(16) callconv(.naked) void {
......@@ -1644,8 +1567,7 @@ fn __aarch64_ldset8_relax() align(16) callconv(.naked) void {
16441567 \\ ret
16451568 :
16461569 : [__aarch64_have_lse_atomics] "{w16}" (__aarch64_have_lse_atomics),
1647 : "w15", "w16", "w17", "memory"
1648 );
1570 : .{ .w15 = true, .w16 = true, .w17 = true, .memory = true });
16491571 unreachable;
16501572}
16511573fn __aarch64_cas8_acq() align(16) callconv(.naked) void {
......@@ -1666,8 +1588,7 @@ fn __aarch64_cas8_acq() align(16) callconv(.naked) void {
16661588 \\ ret
16671589 :
16681590 : [__aarch64_have_lse_atomics] "{w16}" (__aarch64_have_lse_atomics),
1669 : "w15", "w16", "w17", "memory"
1670 );
1591 : .{ .w15 = true, .w16 = true, .w17 = true, .memory = true });
16711592 unreachable;
16721593}
16731594fn __aarch64_swp8_acq() align(16) callconv(.naked) void {
......@@ -1686,8 +1607,7 @@ fn __aarch64_swp8_acq() align(16) callconv(.naked) void {
16861607 \\ ret
16871608 :
16881609 : [__aarch64_have_lse_atomics] "{w16}" (__aarch64_have_lse_atomics),
1689 : "w15", "w16", "w17", "memory"
1690 );
1610 : .{ .w15 = true, .w16 = true, .w17 = true, .memory = true });
16911611 unreachable;
16921612}
16931613fn __aarch64_ldadd8_acq() align(16) callconv(.naked) void {
......@@ -1707,8 +1627,7 @@ fn __aarch64_ldadd8_acq() align(16) callconv(.naked) void {
17071627 \\ ret
17081628 :
17091629 : [__aarch64_have_lse_atomics] "{w16}" (__aarch64_have_lse_atomics),
1710 : "w15", "w16", "w17", "memory"
1711 );
1630 : .{ .w15 = true, .w16 = true, .w17 = true, .memory = true });
17121631 unreachable;
17131632}
17141633fn __aarch64_ldclr8_acq() align(16) callconv(.naked) void {
......@@ -1728,8 +1647,7 @@ fn __aarch64_ldclr8_acq() align(16) callconv(.naked) void {
17281647 \\ ret
17291648 :
17301649 : [__aarch64_have_lse_atomics] "{w16}" (__aarch64_have_lse_atomics),
1731 : "w15", "w16", "w17", "memory"
1732 );
1650 : .{ .w15 = true, .w16 = true, .w17 = true, .memory = true });
17331651 unreachable;
17341652}
17351653fn __aarch64_ldeor8_acq() align(16) callconv(.naked) void {
......@@ -1749,8 +1667,7 @@ fn __aarch64_ldeor8_acq() align(16) callconv(.naked) void {
17491667 \\ ret
17501668 :
17511669 : [__aarch64_have_lse_atomics] "{w16}" (__aarch64_have_lse_atomics),
1752 : "w15", "w16", "w17", "memory"
1753 );
1670 : .{ .w15 = true, .w16 = true, .w17 = true, .memory = true });
17541671 unreachable;
17551672}
17561673fn __aarch64_ldset8_acq() align(16) callconv(.naked) void {
......@@ -1770,8 +1687,7 @@ fn __aarch64_ldset8_acq() align(16) callconv(.naked) void {
17701687 \\ ret
17711688 :
17721689 : [__aarch64_have_lse_atomics] "{w16}" (__aarch64_have_lse_atomics),
1773 : "w15", "w16", "w17", "memory"
1774 );
1690 : .{ .w15 = true, .w16 = true, .w17 = true, .memory = true });
17751691 unreachable;
17761692}
17771693fn __aarch64_cas8_rel() align(16) callconv(.naked) void {
......@@ -1792,8 +1708,7 @@ fn __aarch64_cas8_rel() align(16) callconv(.naked) void {
17921708 \\ ret
17931709 :
17941710 : [__aarch64_have_lse_atomics] "{w16}" (__aarch64_have_lse_atomics),
1795 : "w15", "w16", "w17", "memory"
1796 );
1711 : .{ .w15 = true, .w16 = true, .w17 = true, .memory = true });
17971712 unreachable;
17981713}
17991714fn __aarch64_swp8_rel() align(16) callconv(.naked) void {
......@@ -1812,8 +1727,7 @@ fn __aarch64_swp8_rel() align(16) callconv(.naked) void {
18121727 \\ ret
18131728 :
18141729 : [__aarch64_have_lse_atomics] "{w16}" (__aarch64_have_lse_atomics),
1815 : "w15", "w16", "w17", "memory"
1816 );
1730 : .{ .w15 = true, .w16 = true, .w17 = true, .memory = true });
18171731 unreachable;
18181732}
18191733fn __aarch64_ldadd8_rel() align(16) callconv(.naked) void {
......@@ -1833,8 +1747,7 @@ fn __aarch64_ldadd8_rel() align(16) callconv(.naked) void {
18331747 \\ ret
18341748 :
18351749 : [__aarch64_have_lse_atomics] "{w16}" (__aarch64_have_lse_atomics),
1836 : "w15", "w16", "w17", "memory"
1837 );
1750 : .{ .w15 = true, .w16 = true, .w17 = true, .memory = true });
18381751 unreachable;
18391752}
18401753fn __aarch64_ldclr8_rel() align(16) callconv(.naked) void {
......@@ -1854,8 +1767,7 @@ fn __aarch64_ldclr8_rel() align(16) callconv(.naked) void {
18541767 \\ ret
18551768 :
18561769 : [__aarch64_have_lse_atomics] "{w16}" (__aarch64_have_lse_atomics),
1857 : "w15", "w16", "w17", "memory"
1858 );
1770 : .{ .w15 = true, .w16 = true, .w17 = true, .memory = true });
18591771 unreachable;
18601772}
18611773fn __aarch64_ldeor8_rel() align(16) callconv(.naked) void {
......@@ -1875,8 +1787,7 @@ fn __aarch64_ldeor8_rel() align(16) callconv(.naked) void {
18751787 \\ ret
18761788 :
18771789 : [__aarch64_have_lse_atomics] "{w16}" (__aarch64_have_lse_atomics),
1878 : "w15", "w16", "w17", "memory"
1879 );
1790 : .{ .w15 = true, .w16 = true, .w17 = true, .memory = true });
18801791 unreachable;
18811792}
18821793fn __aarch64_ldset8_rel() align(16) callconv(.naked) void {
......@@ -1896,8 +1807,7 @@ fn __aarch64_ldset8_rel() align(16) callconv(.naked) void {
18961807 \\ ret
18971808 :
18981809 : [__aarch64_have_lse_atomics] "{w16}" (__aarch64_have_lse_atomics),
1899 : "w15", "w16", "w17", "memory"
1900 );
1810 : .{ .w15 = true, .w16 = true, .w17 = true, .memory = true });
19011811 unreachable;
19021812}
19031813fn __aarch64_cas8_acq_rel() align(16) callconv(.naked) void {
......@@ -1918,8 +1828,7 @@ fn __aarch64_cas8_acq_rel() align(16) callconv(.naked) void {
19181828 \\ ret
19191829 :
19201830 : [__aarch64_have_lse_atomics] "{w16}" (__aarch64_have_lse_atomics),
1921 : "w15", "w16", "w17", "memory"
1922 );
1831 : .{ .w15 = true, .w16 = true, .w17 = true, .memory = true });
19231832 unreachable;
19241833}
19251834fn __aarch64_swp8_acq_rel() align(16) callconv(.naked) void {
......@@ -1938,8 +1847,7 @@ fn __aarch64_swp8_acq_rel() align(16) callconv(.naked) void {
19381847 \\ ret
19391848 :
19401849 : [__aarch64_have_lse_atomics] "{w16}" (__aarch64_have_lse_atomics),
1941 : "w15", "w16", "w17", "memory"
1942 );
1850 : .{ .w15 = true, .w16 = true, .w17 = true, .memory = true });
19431851 unreachable;
19441852}
19451853fn __aarch64_ldadd8_acq_rel() align(16) callconv(.naked) void {
......@@ -1959,8 +1867,7 @@ fn __aarch64_ldadd8_acq_rel() align(16) callconv(.naked) void {
19591867 \\ ret
19601868 :
19611869 : [__aarch64_have_lse_atomics] "{w16}" (__aarch64_have_lse_atomics),
1962 : "w15", "w16", "w17", "memory"
1963 );
1870 : .{ .w15 = true, .w16 = true, .w17 = true, .memory = true });
19641871 unreachable;
19651872}
19661873fn __aarch64_ldclr8_acq_rel() align(16) callconv(.naked) void {
......@@ -1980,8 +1887,7 @@ fn __aarch64_ldclr8_acq_rel() align(16) callconv(.naked) void {
19801887 \\ ret
19811888 :
19821889 : [__aarch64_have_lse_atomics] "{w16}" (__aarch64_have_lse_atomics),
1983 : "w15", "w16", "w17", "memory"
1984 );
1890 : .{ .w15 = true, .w16 = true, .w17 = true, .memory = true });
19851891 unreachable;
19861892}
19871893fn __aarch64_ldeor8_acq_rel() align(16) callconv(.naked) void {
......@@ -2001,8 +1907,7 @@ fn __aarch64_ldeor8_acq_rel() align(16) callconv(.naked) void {
20011907 \\ ret
20021908 :
20031909 : [__aarch64_have_lse_atomics] "{w16}" (__aarch64_have_lse_atomics),
2004 : "w15", "w16", "w17", "memory"
2005 );
1910 : .{ .w15 = true, .w16 = true, .w17 = true, .memory = true });
20061911 unreachable;
20071912}
20081913fn __aarch64_ldset8_acq_rel() align(16) callconv(.naked) void {
......@@ -2022,8 +1927,7 @@ fn __aarch64_ldset8_acq_rel() align(16) callconv(.naked) void {
20221927 \\ ret
20231928 :
20241929 : [__aarch64_have_lse_atomics] "{w16}" (__aarch64_have_lse_atomics),
2025 : "w15", "w16", "w17", "memory"
2026 );
1930 : .{ .w15 = true, .w16 = true, .w17 = true, .memory = true });
20271931 unreachable;
20281932}
20291933fn __aarch64_cas16_relax() align(16) callconv(.naked) void {
......@@ -2046,8 +1950,7 @@ fn __aarch64_cas16_relax() align(16) callconv(.naked) void {
20461950 \\ ret
20471951 :
20481952 : [__aarch64_have_lse_atomics] "{w16}" (__aarch64_have_lse_atomics),
2049 : "w15", "w16", "w17", "memory"
2050 );
1953 : .{ .w15 = true, .w16 = true, .w17 = true, .memory = true });
20511954 unreachable;
20521955}
20531956fn __aarch64_cas16_acq() align(16) callconv(.naked) void {
......@@ -2070,8 +1973,7 @@ fn __aarch64_cas16_acq() align(16) callconv(.naked) void {
20701973 \\ ret
20711974 :
20721975 : [__aarch64_have_lse_atomics] "{w16}" (__aarch64_have_lse_atomics),
2073 : "w15", "w16", "w17", "memory"
2074 );
1976 : .{ .w15 = true, .w16 = true, .w17 = true, .memory = true });
20751977 unreachable;
20761978}
20771979fn __aarch64_cas16_rel() align(16) callconv(.naked) void {
......@@ -2094,8 +1996,7 @@ fn __aarch64_cas16_rel() align(16) callconv(.naked) void {
20941996 \\ ret
20951997 :
20961998 : [__aarch64_have_lse_atomics] "{w16}" (__aarch64_have_lse_atomics),
2097 : "w15", "w16", "w17", "memory"
2098 );
1999 : .{ .w15 = true, .w16 = true, .w17 = true, .memory = true });
20992000 unreachable;
21002001}
21012002fn __aarch64_cas16_acq_rel() align(16) callconv(.naked) void {
......@@ -2118,8 +2019,7 @@ fn __aarch64_cas16_acq_rel() align(16) callconv(.naked) void {
21182019 \\ ret
21192020 :
21202021 : [__aarch64_have_lse_atomics] "{w16}" (__aarch64_have_lse_atomics),
2121 : "w15", "w16", "w17", "memory"
2122 );
2022 : .{ .w15 = true, .w16 = true, .w17 = true, .memory = true });
21232023 unreachable;
21242024}
21252025
lib/compiler_rt/arm.zig+4-8
......@@ -142,8 +142,7 @@ pub fn __aeabi_uidivmod() callconv(.naked) void {
142142 \\ pop {pc}
143143 :
144144 : [__udivmodsi4] "X" (&__udivmodsi4),
145 : "memory"
146 );
145 : .{ .memory = true });
147146 unreachable;
148147}
149148
......@@ -162,8 +161,7 @@ pub fn __aeabi_uldivmod() callconv(.naked) void {
162161 \\ pop {r4, pc}
163162 :
164163 : [__udivmoddi4] "X" (&__udivmoddi4),
165 : "memory"
166 );
164 : .{ .memory = true });
167165 unreachable;
168166}
169167
......@@ -180,8 +178,7 @@ pub fn __aeabi_idivmod() callconv(.naked) void {
180178 \\ pop {pc}
181179 :
182180 : [__divmodsi4] "X" (&__divmodsi4),
183 : "memory"
184 );
181 : .{ .memory = true });
185182 unreachable;
186183}
187184
......@@ -200,8 +197,7 @@ pub fn __aeabi_ldivmod() callconv(.naked) void {
200197 \\ pop {r4, pc}
201198 :
202199 : [__divmoddi4] "X" (&__divmoddi4),
203 : "memory"
204 );
200 : .{ .memory = true });
205201 unreachable;
206202}
207203
lib/compiler_rt/atomics.zig+2-4
......@@ -71,8 +71,7 @@ const SpinlockTable = struct {
7171 break :flag asm volatile ("ldstub [%[addr]], %[flag]"
7272 : [flag] "=r" (-> @TypeOf(self.v)),
7373 : [addr] "r" (&self.v),
74 : "memory"
75 );
74 : .{ .memory = true });
7675 } else flag: {
7776 break :flag @atomicRmw(@TypeOf(self.v), &self.v, .Xchg, .Locked, .acquire);
7877 };
......@@ -88,8 +87,7 @@ const SpinlockTable = struct {
8887 _ = asm volatile ("clrb [%[addr]]"
8988 :
9089 : [addr] "r" (&self.v),
91 : "memory"
92 );
90 : .{ .memory = true });
9391 } else {
9492 @atomicStore(@TypeOf(self.v), &self.v, .Unlocked, .release);
9593 }
lib/compiler_rt/clear_cache.zig+1-2
......@@ -103,8 +103,7 @@ fn clear_cache(start: usize, end: usize) callconv(.c) void {
103103 : [_] "{$2}" (165), // nr = SYS_sysarch
104104 [_] "{$4}" (0), // op = MIPS_CACHEFLUSH
105105 [_] "{$5}" (&cfa), // args = &cfa
106 : "$1", "$2", "$3", "$4", "$5", "$6", "$7", "$8", "$9", "$10", "$11", "$12", "$13", "$14", "$15", "$24", "$25", "hi", "lo", "memory"
107 );
106 : .{ .@"$1" = true, .@"$2" = true, .@"$3" = true, .@"$4" = true, .@"$5" = true, .@"$6" = true, .@"$7" = true, .@"$8" = true, .@"$9" = true, .@"$10" = true, .@"$11" = true, .@"$12" = true, .@"$13" = true, .@"$14" = true, .@"$15" = true, .@"$24" = true, .@"$25" = true, .hi = true, .lo = true, .memory = true });
108107 exportIt();
109108 } else if (mips and os == .openbsd) {
110109 // TODO
lib/std/Thread.zig+12-24
......@@ -1198,8 +1198,7 @@ const LinuxThreadImpl = struct {
11981198 :
11991199 : [ptr] "r" (@intFromPtr(self.mapped.ptr)),
12001200 [len] "r" (self.mapped.len),
1201 : "memory"
1202 ),
1201 : .{ .memory = true }),
12031202 .x86_64 => asm volatile (
12041203 \\ movq $11, %%rax # SYS_munmap
12051204 \\ syscall
......@@ -1221,8 +1220,7 @@ const LinuxThreadImpl = struct {
12211220 :
12221221 : [ptr] "r" (@intFromPtr(self.mapped.ptr)),
12231222 [len] "r" (self.mapped.len),
1224 : "memory"
1225 ),
1223 : .{ .memory = true }),
12261224 .aarch64, .aarch64_be => asm volatile (
12271225 \\ mov x8, #215 // SYS_munmap
12281226 \\ mov x0, %[ptr]
......@@ -1234,8 +1232,7 @@ const LinuxThreadImpl = struct {
12341232 :
12351233 : [ptr] "r" (@intFromPtr(self.mapped.ptr)),
12361234 [len] "r" (self.mapped.len),
1237 : "memory"
1238 ),
1235 : .{ .memory = true }),
12391236 .hexagon => asm volatile (
12401237 \\ r6 = #215 // SYS_munmap
12411238 \\ r0 = %[ptr]
......@@ -1247,8 +1244,7 @@ const LinuxThreadImpl = struct {
12471244 :
12481245 : [ptr] "r" (@intFromPtr(self.mapped.ptr)),
12491246 [len] "r" (self.mapped.len),
1250 : "memory"
1251 ),
1247 : .{ .memory = true }),
12521248 // We set `sp` to the address of the current function as a workaround for a Linux
12531249 // kernel bug that caused syscalls to return EFAULT if the stack pointer is invalid.
12541250 // The bug was introduced in 46e12c07b3b9603c60fc1d421ff18618241cb081 and fixed in
......@@ -1265,8 +1261,7 @@ const LinuxThreadImpl = struct {
12651261 :
12661262 : [ptr] "r" (@intFromPtr(self.mapped.ptr)),
12671263 [len] "r" (self.mapped.len),
1268 : "memory"
1269 ),
1264 : .{ .memory = true }),
12701265 .mips64, .mips64el => asm volatile (
12711266 \\ li $2, 5011 # SYS_munmap
12721267 \\ move $4, %[ptr]
......@@ -1278,8 +1273,7 @@ const LinuxThreadImpl = struct {
12781273 :
12791274 : [ptr] "r" (@intFromPtr(self.mapped.ptr)),
12801275 [len] "r" (self.mapped.len),
1281 : "memory"
1282 ),
1276 : .{ .memory = true }),
12831277 .powerpc, .powerpcle, .powerpc64, .powerpc64le => asm volatile (
12841278 \\ li 0, 91 # SYS_munmap
12851279 \\ mr 3, %[ptr]
......@@ -1292,8 +1286,7 @@ const LinuxThreadImpl = struct {
12921286 :
12931287 : [ptr] "r" (@intFromPtr(self.mapped.ptr)),
12941288 [len] "r" (self.mapped.len),
1295 : "memory"
1296 ),
1289 : .{ .memory = true }),
12971290 .riscv32, .riscv64 => asm volatile (
12981291 \\ li a7, 215 # SYS_munmap
12991292 \\ mv a0, %[ptr]
......@@ -1305,8 +1298,7 @@ const LinuxThreadImpl = struct {
13051298 :
13061299 : [ptr] "r" (@intFromPtr(self.mapped.ptr)),
13071300 [len] "r" (self.mapped.len),
1308 : "memory"
1309 ),
1301 : .{ .memory = true }),
13101302 .s390x => asm volatile (
13111303 \\ lgr %%r2, %[ptr]
13121304 \\ lgr %%r3, %[len]
......@@ -1316,8 +1308,7 @@ const LinuxThreadImpl = struct {
13161308 :
13171309 : [ptr] "r" (@intFromPtr(self.mapped.ptr)),
13181310 [len] "r" (self.mapped.len),
1319 : "memory"
1320 ),
1311 : .{ .memory = true }),
13211312 .sparc => asm volatile (
13221313 \\ # See sparc64 comments below.
13231314 \\ 1:
......@@ -1338,8 +1329,7 @@ const LinuxThreadImpl = struct {
13381329 :
13391330 : [ptr] "r" (@intFromPtr(self.mapped.ptr)),
13401331 [len] "r" (self.mapped.len),
1341 : "memory"
1342 ),
1332 : .{ .memory = true }),
13431333 .sparc64 => asm volatile (
13441334 \\ # SPARCs really don't like it when active stack frames
13451335 \\ # is unmapped (it will result in a segfault), so we
......@@ -1365,8 +1355,7 @@ const LinuxThreadImpl = struct {
13651355 :
13661356 : [ptr] "r" (@intFromPtr(self.mapped.ptr)),
13671357 [len] "r" (self.mapped.len),
1368 : "memory"
1369 ),
1358 : .{ .memory = true }),
13701359 .loongarch32, .loongarch64 => asm volatile (
13711360 \\ or $a0, $zero, %[ptr]
13721361 \\ or $a1, $zero, %[len]
......@@ -1378,8 +1367,7 @@ const LinuxThreadImpl = struct {
13781367 :
13791368 : [ptr] "r" (@intFromPtr(self.mapped.ptr)),
13801369 [len] "r" (self.mapped.len),
1381 : "memory"
1382 ),
1370 : .{ .memory = true }),
13831371 else => |cpu_arch| @compileError("Unsupported linux arch: " ++ @tagName(cpu_arch)),
13841372 }
13851373 unreachable;
lib/std/crypto/sha2.zig+1-2
......@@ -229,8 +229,7 @@ fn Sha2x32(comptime iv: Iv32, digest_bits: comptime_int) type {
229229 : [_] "0" (x),
230230 [_] "1" (y),
231231 [w] "w" (w),
232 : "v0"
233 );
232 : .{ .v0 = true });
234233 }
235234
236235 d.s[0..4].* = x +% @as(V4u32, d.s[0..4].*);
lib/std/debug.zig+1-1
......@@ -785,7 +785,7 @@ pub const StackIterator = struct {
785785 "flushw"
786786 else
787787 "ta 3" // ST_FLUSH_WINDOWS
788 ::: "memory");
788 ::: .{ .memory = true });
789789 }
790790
791791 return StackIterator{
lib/std/debug/SelfInfo.zig+1-2
......@@ -1547,8 +1547,7 @@ pub inline fn stripInstructionPtrAuthCode(ptr: usize) usize {
15471547 \\mov x30, x16
15481548 : [ret] "={x15}" (-> usize),
15491549 : [ptr] "{x15}" (ptr),
1550 : "x16"
1551 );
1550 : .{ .x16 = true });
15521551 }
15531552
15541553 return ptr;
lib/std/mem.zig+1-2
......@@ -4497,8 +4497,7 @@ pub fn doNotOptimizeAway(val: anytype) void {
44974497 asm volatile (""
44984498 :
44994499 : [val] "m" (val),
4500 : "memory"
4501 );
4500 : .{ .memory = true });
45024501 }
45034502 },
45044503 .array => {
lib/std/os/linux/aarch64.zig+9-18
......@@ -18,8 +18,7 @@ pub fn syscall0(number: SYS) usize {
1818 return asm volatile ("svc #0"
1919 : [ret] "={x0}" (-> usize),
2020 : [number] "{x8}" (@intFromEnum(number)),
21 : "memory", "cc"
22 );
21 : .{ .memory = true, .cc = true });
2322}
2423
2524pub fn syscall1(number: SYS, arg1: usize) usize {
......@@ -27,8 +26,7 @@ pub fn syscall1(number: SYS, arg1: usize) usize {
2726 : [ret] "={x0}" (-> usize),
2827 : [number] "{x8}" (@intFromEnum(number)),
2928 [arg1] "{x0}" (arg1),
30 : "memory", "cc"
31 );
29 : .{ .memory = true, .cc = true });
3230}
3331
3432pub fn syscall2(number: SYS, arg1: usize, arg2: usize) usize {
......@@ -37,8 +35,7 @@ pub fn syscall2(number: SYS, arg1: usize, arg2: usize) usize {
3735 : [number] "{x8}" (@intFromEnum(number)),
3836 [arg1] "{x0}" (arg1),
3937 [arg2] "{x1}" (arg2),
40 : "memory", "cc"
41 );
38 : .{ .memory = true, .cc = true });
4239}
4340
4441pub fn syscall3(number: SYS, arg1: usize, arg2: usize, arg3: usize) usize {
......@@ -48,8 +45,7 @@ pub fn syscall3(number: SYS, arg1: usize, arg2: usize, arg3: usize) usize {
4845 [arg1] "{x0}" (arg1),
4946 [arg2] "{x1}" (arg2),
5047 [arg3] "{x2}" (arg3),
51 : "memory", "cc"
52 );
48 : .{ .memory = true, .cc = true });
5349}
5450
5551pub fn syscall4(number: SYS, arg1: usize, arg2: usize, arg3: usize, arg4: usize) usize {
......@@ -60,8 +56,7 @@ pub fn syscall4(number: SYS, arg1: usize, arg2: usize, arg3: usize, arg4: usize)
6056 [arg2] "{x1}" (arg2),
6157 [arg3] "{x2}" (arg3),
6258 [arg4] "{x3}" (arg4),
63 : "memory", "cc"
64 );
59 : .{ .memory = true, .cc = true });
6560}
6661
6762pub fn syscall5(number: SYS, arg1: usize, arg2: usize, arg3: usize, arg4: usize, arg5: usize) usize {
......@@ -73,8 +68,7 @@ pub fn syscall5(number: SYS, arg1: usize, arg2: usize, arg3: usize, arg4: usize,
7368 [arg3] "{x2}" (arg3),
7469 [arg4] "{x3}" (arg4),
7570 [arg5] "{x4}" (arg5),
76 : "memory", "cc"
77 );
71 : .{ .memory = true, .cc = true });
7872}
7973
8074pub fn syscall6(
......@@ -95,8 +89,7 @@ pub fn syscall6(
9589 [arg4] "{x3}" (arg4),
9690 [arg5] "{x4}" (arg5),
9791 [arg6] "{x5}" (arg6),
98 : "memory", "cc"
99 );
92 : .{ .memory = true, .cc = true });
10093}
10194
10295pub fn clone() callconv(.naked) usize {
......@@ -148,14 +141,12 @@ pub fn restore_rt() callconv(.naked) noreturn {
148141 \\ svc #0
149142 :
150143 : [number] "i" (@intFromEnum(SYS.rt_sigreturn)),
151 : "memory", "cc"
152 ),
144 : .{ .memory = true, .cc = true }),
153145 else => asm volatile (
154146 \\ svc #0
155147 :
156148 : [number] "{x8}" (@intFromEnum(SYS.rt_sigreturn)),
157 : "memory", "cc"
158 ),
149 : .{ .memory = true, .cc = true }),
159150 }
160151}
161152
lib/std/os/linux/arm.zig+11-22
......@@ -17,8 +17,7 @@ pub fn syscall0(number: SYS) usize {
1717 return asm volatile ("svc #0"
1818 : [ret] "={r0}" (-> usize),
1919 : [number] "{r7}" (@intFromEnum(number)),
20 : "memory"
21 );
20 : .{ .memory = true });
2221}
2322
2423pub fn syscall1(number: SYS, arg1: usize) usize {
......@@ -26,8 +25,7 @@ pub fn syscall1(number: SYS, arg1: usize) usize {
2625 : [ret] "={r0}" (-> usize),
2726 : [number] "{r7}" (@intFromEnum(number)),
2827 [arg1] "{r0}" (arg1),
29 : "memory"
30 );
28 : .{ .memory = true });
3129}
3230
3331pub fn syscall2(number: SYS, arg1: usize, arg2: usize) usize {
......@@ -36,8 +34,7 @@ pub fn syscall2(number: SYS, arg1: usize, arg2: usize) usize {
3634 : [number] "{r7}" (@intFromEnum(number)),
3735 [arg1] "{r0}" (arg1),
3836 [arg2] "{r1}" (arg2),
39 : "memory"
40 );
37 : .{ .memory = true });
4138}
4239
4340pub fn syscall3(number: SYS, arg1: usize, arg2: usize, arg3: usize) usize {
......@@ -47,8 +44,7 @@ pub fn syscall3(number: SYS, arg1: usize, arg2: usize, arg3: usize) usize {
4744 [arg1] "{r0}" (arg1),
4845 [arg2] "{r1}" (arg2),
4946 [arg3] "{r2}" (arg3),
50 : "memory"
51 );
47 : .{ .memory = true });
5248}
5349
5450pub fn syscall4(number: SYS, arg1: usize, arg2: usize, arg3: usize, arg4: usize) usize {
......@@ -59,8 +55,7 @@ pub fn syscall4(number: SYS, arg1: usize, arg2: usize, arg3: usize, arg4: usize)
5955 [arg2] "{r1}" (arg2),
6056 [arg3] "{r2}" (arg3),
6157 [arg4] "{r3}" (arg4),
62 : "memory"
63 );
58 : .{ .memory = true });
6459}
6560
6661pub fn syscall5(number: SYS, arg1: usize, arg2: usize, arg3: usize, arg4: usize, arg5: usize) usize {
......@@ -72,8 +67,7 @@ pub fn syscall5(number: SYS, arg1: usize, arg2: usize, arg3: usize, arg4: usize,
7267 [arg3] "{r2}" (arg3),
7368 [arg4] "{r3}" (arg4),
7469 [arg5] "{r4}" (arg5),
75 : "memory"
76 );
70 : .{ .memory = true });
7771}
7872
7973pub fn syscall6(
......@@ -94,8 +88,7 @@ pub fn syscall6(
9488 [arg4] "{r3}" (arg4),
9589 [arg5] "{r4}" (arg5),
9690 [arg6] "{r5}" (arg6),
97 : "memory"
98 );
91 : .{ .memory = true });
9992}
10093
10194pub fn clone() callconv(.naked) usize {
......@@ -141,14 +134,12 @@ pub fn restore() callconv(.naked) noreturn {
141134 \\ svc #0
142135 :
143136 : [number] "I" (@intFromEnum(SYS.sigreturn)),
144 : "memory"
145 ),
137 : .{ .memory = true }),
146138 else => asm volatile (
147139 \\ svc #0
148140 :
149141 : [number] "{r7}" (@intFromEnum(SYS.sigreturn)),
150 : "memory"
151 ),
142 : .{ .memory = true }),
152143 }
153144}
154145
......@@ -159,14 +150,12 @@ pub fn restore_rt() callconv(.naked) noreturn {
159150 \\ svc #0
160151 :
161152 : [number] "I" (@intFromEnum(SYS.rt_sigreturn)),
162 : "memory"
163 ),
153 : .{ .memory = true }),
164154 else => asm volatile (
165155 \\ svc #0
166156 :
167157 : [number] "{r7}" (@intFromEnum(SYS.rt_sigreturn)),
168 : "memory"
169 ),
158 : .{ .memory = true }),
170159 }
171160}
172161
lib/std/os/linux/hexagon.zig+8-16
......@@ -15,8 +15,7 @@ pub fn syscall0(number: SYS) usize {
1515 return asm volatile ("trap0(#1)"
1616 : [ret] "={r0}" (-> usize),
1717 : [number] "{r6}" (@intFromEnum(number)),
18 : "memory"
19 );
18 : .{ .memory = true });
2019}
2120
2221pub fn syscall1(number: SYS, arg1: usize) usize {
......@@ -24,8 +23,7 @@ pub fn syscall1(number: SYS, arg1: usize) usize {
2423 : [ret] "={r0}" (-> usize),
2524 : [number] "{r6}" (@intFromEnum(number)),
2625 [arg1] "{r0}" (arg1),
27 : "memory"
28 );
26 : .{ .memory = true });
2927}
3028
3129pub fn syscall2(number: SYS, arg1: usize, arg2: usize) usize {
......@@ -34,8 +32,7 @@ pub fn syscall2(number: SYS, arg1: usize, arg2: usize) usize {
3432 : [number] "{r6}" (@intFromEnum(number)),
3533 [arg1] "{r0}" (arg1),
3634 [arg2] "{r1}" (arg2),
37 : "memory"
38 );
35 : .{ .memory = true });
3936}
4037
4138pub fn syscall3(number: SYS, arg1: usize, arg2: usize, arg3: usize) usize {
......@@ -45,8 +42,7 @@ pub fn syscall3(number: SYS, arg1: usize, arg2: usize, arg3: usize) usize {
4542 [arg1] "{r0}" (arg1),
4643 [arg2] "{r1}" (arg2),
4744 [arg3] "{r2}" (arg3),
48 : "memory"
49 );
45 : .{ .memory = true });
5046}
5147
5248pub fn syscall4(number: SYS, arg1: usize, arg2: usize, arg3: usize, arg4: usize) usize {
......@@ -57,8 +53,7 @@ pub fn syscall4(number: SYS, arg1: usize, arg2: usize, arg3: usize, arg4: usize)
5753 [arg2] "{r1}" (arg2),
5854 [arg3] "{r2}" (arg3),
5955 [arg4] "{r3}" (arg4),
60 : "memory"
61 );
56 : .{ .memory = true });
6257}
6358
6459pub fn syscall5(number: SYS, arg1: usize, arg2: usize, arg3: usize, arg4: usize, arg5: usize) usize {
......@@ -70,8 +65,7 @@ pub fn syscall5(number: SYS, arg1: usize, arg2: usize, arg3: usize, arg4: usize,
7065 [arg3] "{r2}" (arg3),
7166 [arg4] "{r3}" (arg4),
7267 [arg5] "{r4}" (arg5),
73 : "memory"
74 );
68 : .{ .memory = true });
7569}
7670
7771pub fn syscall6(
......@@ -92,8 +86,7 @@ pub fn syscall6(
9286 [arg4] "{r3}" (arg4),
9387 [arg5] "{r4}" (arg5),
9488 [arg6] "{r5}" (arg6),
95 : "memory"
96 );
89 : .{ .memory = true });
9790}
9891
9992pub fn clone() callconv(.naked) usize {
......@@ -142,8 +135,7 @@ pub fn restore_rt() callconv(.naked) noreturn {
142135 \\ trap0(#0)
143136 :
144137 : [number] "{r6}" (@intFromEnum(SYS.rt_sigreturn)),
145 : "memory"
146 );
138 : .{ .memory = true });
147139}
148140
149141pub const F = struct {
lib/std/os/linux/loongarch64.zig+8-16
......@@ -17,8 +17,7 @@ pub fn syscall0(number: SYS) usize {
1717 \\ syscall 0
1818 : [ret] "={$r4}" (-> usize),
1919 : [number] "{$r11}" (@intFromEnum(number)),
20 : "$t0", "$t1", "$t2", "$t3", "$t4", "$t5", "$t6", "$t7", "$t8", "memory"
21 );
20 : .{ .@"$t0" = true, .@"$t1" = true, .@"$t2" = true, .@"$t3" = true, .@"$t4" = true, .@"$t5" = true, .@"$t6" = true, .@"$t7" = true, .@"$t8" = true, .memory = true });
2221}
2322
2423pub fn syscall1(number: SYS, arg1: usize) usize {
......@@ -27,8 +26,7 @@ pub fn syscall1(number: SYS, arg1: usize) usize {
2726 : [ret] "={$r4}" (-> usize),
2827 : [number] "{$r11}" (@intFromEnum(number)),
2928 [arg1] "{$r4}" (arg1),
30 : "$t0", "$t1", "$t2", "$t3", "$t4", "$t5", "$t6", "$t7", "$t8", "memory"
31 );
29 : .{ .@"$t0" = true, .@"$t1" = true, .@"$t2" = true, .@"$t3" = true, .@"$t4" = true, .@"$t5" = true, .@"$t6" = true, .@"$t7" = true, .@"$t8" = true, .memory = true });
3230}
3331
3432pub fn syscall2(number: SYS, arg1: usize, arg2: usize) usize {
......@@ -38,8 +36,7 @@ pub fn syscall2(number: SYS, arg1: usize, arg2: usize) usize {
3836 : [number] "{$r11}" (@intFromEnum(number)),
3937 [arg1] "{$r4}" (arg1),
4038 [arg2] "{$r5}" (arg2),
41 : "$t0", "$t1", "$t2", "$t3", "$t4", "$t5", "$t6", "$t7", "$t8", "memory"
42 );
39 : .{ .@"$t0" = true, .@"$t1" = true, .@"$t2" = true, .@"$t3" = true, .@"$t4" = true, .@"$t5" = true, .@"$t6" = true, .@"$t7" = true, .@"$t8" = true, .memory = true });
4340}
4441
4542pub fn syscall3(number: SYS, arg1: usize, arg2: usize, arg3: usize) usize {
......@@ -50,8 +47,7 @@ pub fn syscall3(number: SYS, arg1: usize, arg2: usize, arg3: usize) usize {
5047 [arg1] "{$r4}" (arg1),
5148 [arg2] "{$r5}" (arg2),
5249 [arg3] "{$r6}" (arg3),
53 : "$t0", "$t1", "$t2", "$t3", "$t4", "$t5", "$t6", "$t7", "$t8", "memory"
54 );
50 : .{ .@"$t0" = true, .@"$t1" = true, .@"$t2" = true, .@"$t3" = true, .@"$t4" = true, .@"$t5" = true, .@"$t6" = true, .@"$t7" = true, .@"$t8" = true, .memory = true });
5551}
5652
5753pub fn syscall4(number: SYS, arg1: usize, arg2: usize, arg3: usize, arg4: usize) usize {
......@@ -63,8 +59,7 @@ pub fn syscall4(number: SYS, arg1: usize, arg2: usize, arg3: usize, arg4: usize)
6359 [arg2] "{$r5}" (arg2),
6460 [arg3] "{$r6}" (arg3),
6561 [arg4] "{$r7}" (arg4),
66 : "$t0", "$t1", "$t2", "$t3", "$t4", "$t5", "$t6", "$t7", "$t8", "memory"
67 );
62 : .{ .@"$t0" = true, .@"$t1" = true, .@"$t2" = true, .@"$t3" = true, .@"$t4" = true, .@"$t5" = true, .@"$t6" = true, .@"$t7" = true, .@"$t8" = true, .memory = true });
6863}
6964
7065pub fn syscall5(number: SYS, arg1: usize, arg2: usize, arg3: usize, arg4: usize, arg5: usize) usize {
......@@ -77,8 +72,7 @@ pub fn syscall5(number: SYS, arg1: usize, arg2: usize, arg3: usize, arg4: usize,
7772 [arg3] "{$r6}" (arg3),
7873 [arg4] "{$r7}" (arg4),
7974 [arg5] "{$r8}" (arg5),
80 : "$t0", "$t1", "$t2", "$t3", "$t4", "$t5", "$t6", "$t7", "$t8", "memory"
81 );
75 : .{ .@"$t0" = true, .@"$t1" = true, .@"$t2" = true, .@"$t3" = true, .@"$t4" = true, .@"$t5" = true, .@"$t6" = true, .@"$t7" = true, .@"$t8" = true, .memory = true });
8276}
8377
8478pub fn syscall6(
......@@ -100,8 +94,7 @@ pub fn syscall6(
10094 [arg4] "{$r7}" (arg4),
10195 [arg5] "{$r8}" (arg5),
10296 [arg6] "{$r9}" (arg6),
103 : "$t0", "$t1", "$t2", "$t3", "$t4", "$t5", "$t6", "$t7", "$t8", "memory"
104 );
97 : .{ .@"$t0" = true, .@"$t1" = true, .@"$t2" = true, .@"$t3" = true, .@"$t4" = true, .@"$t5" = true, .@"$t6" = true, .@"$t7" = true, .@"$t8" = true, .memory = true });
10598}
10699
107100pub fn clone() callconv(.naked) usize {
......@@ -150,8 +143,7 @@ pub fn restore_rt() callconv(.naked) noreturn {
150143 \\ syscall 0
151144 :
152145 : [number] "r" (@intFromEnum(SYS.rt_sigreturn)),
153 : "$t0", "$t1", "$t2", "$t3", "$t4", "$t5", "$t6", "$t7", "$t8", "memory"
154 );
146 : .{ .@"$t0" = true, .@"$t1" = true, .@"$t2" = true, .@"$t3" = true, .@"$t4" = true, .@"$t5" = true, .@"$t6" = true, .@"$t7" = true, .@"$t8" = true, .memory = true });
155147}
156148
157149pub const msghdr = extern struct {
lib/std/os/linux/m68k.zig+8-16
......@@ -15,8 +15,7 @@ pub fn syscall0(number: SYS) usize {
1515 return asm volatile ("trap #0"
1616 : [ret] "={d0}" (-> usize),
1717 : [number] "{d0}" (@intFromEnum(number)),
18 : "memory"
19 );
18 : .{ .memory = true });
2019}
2120
2221pub fn syscall1(number: SYS, arg1: usize) usize {
......@@ -24,8 +23,7 @@ pub fn syscall1(number: SYS, arg1: usize) usize {
2423 : [ret] "={d0}" (-> usize),
2524 : [number] "{d0}" (@intFromEnum(number)),
2625 [arg1] "{d1}" (arg1),
27 : "memory"
28 );
26 : .{ .memory = true });
2927}
3028
3129pub fn syscall2(number: SYS, arg1: usize, arg2: usize) usize {
......@@ -34,8 +32,7 @@ pub fn syscall2(number: SYS, arg1: usize, arg2: usize) usize {
3432 : [number] "{d0}" (@intFromEnum(number)),
3533 [arg1] "{d1}" (arg1),
3634 [arg2] "{d2}" (arg2),
37 : "memory"
38 );
35 : .{ .memory = true });
3936}
4037
4138pub fn syscall3(number: SYS, arg1: usize, arg2: usize, arg3: usize) usize {
......@@ -45,8 +42,7 @@ pub fn syscall3(number: SYS, arg1: usize, arg2: usize, arg3: usize) usize {
4542 [arg1] "{d1}" (arg1),
4643 [arg2] "{d2}" (arg2),
4744 [arg3] "{d3}" (arg3),
48 : "memory"
49 );
45 : .{ .memory = true });
5046}
5147
5248pub fn syscall4(number: SYS, arg1: usize, arg2: usize, arg3: usize, arg4: usize) usize {
......@@ -57,8 +53,7 @@ pub fn syscall4(number: SYS, arg1: usize, arg2: usize, arg3: usize, arg4: usize)
5753 [arg2] "{d2}" (arg2),
5854 [arg3] "{d3}" (arg3),
5955 [arg4] "{d4}" (arg4),
60 : "memory"
61 );
56 : .{ .memory = true });
6257}
6358
6459pub fn syscall5(number: SYS, arg1: usize, arg2: usize, arg3: usize, arg4: usize, arg5: usize) usize {
......@@ -70,8 +65,7 @@ pub fn syscall5(number: SYS, arg1: usize, arg2: usize, arg3: usize, arg4: usize,
7065 [arg3] "{d3}" (arg3),
7166 [arg4] "{d4}" (arg4),
7267 [arg5] "{d5}" (arg5),
73 : "memory"
74 );
68 : .{ .memory = true });
7569}
7670
7771pub fn syscall6(
......@@ -92,8 +86,7 @@ pub fn syscall6(
9286 [arg4] "{d4}" (arg4),
9387 [arg5] "{d5}" (arg5),
9488 [arg6] "{a0}" (arg6),
95 : "memory"
96 );
89 : .{ .memory = true });
9790}
9891
9992pub fn clone() callconv(.naked) usize {
......@@ -155,8 +148,7 @@ pub fn restore_rt() callconv(.naked) noreturn {
155148 asm volatile ("trap #0"
156149 :
157150 : [number] "{d0}" (@intFromEnum(SYS.rt_sigreturn)),
158 : "memory"
159 );
151 : .{ .memory = true });
160152}
161153
162154pub const F = struct {
lib/std/os/linux/mips.zig+11-22
......@@ -21,8 +21,7 @@ pub fn syscall0(number: SYS) usize {
2121 \\ 1:
2222 : [ret] "={$2}" (-> usize),
2323 : [number] "{$2}" (@intFromEnum(number)),
24 : "$1", "$3", "$4", "$5", "$6", "$7", "$8", "$9", "$10", "$11", "$12", "$13", "$14", "$15", "$24", "$25", "hi", "lo", "memory"
25 );
24 : .{ .@"$1" = true, .@"$3" = true, .@"$4" = true, .@"$5" = true, .@"$6" = true, .@"$7" = true, .@"$8" = true, .@"$9" = true, .@"$10" = true, .@"$11" = true, .@"$12" = true, .@"$13" = true, .@"$14" = true, .@"$15" = true, .@"$24" = true, .@"$25" = true, .hi = true, .lo = true, .memory = true });
2625}
2726
2827pub fn syscall_pipe(fd: *[2]i32) usize {
......@@ -41,8 +40,7 @@ pub fn syscall_pipe(fd: *[2]i32) usize {
4140 : [ret] "={$2}" (-> usize),
4241 : [number] "{$2}" (@intFromEnum(SYS.pipe)),
4342 [fd] "{$4}" (fd),
44 : "$1", "$3", "$5", "$6", "$7", "$8", "$9", "$10", "$11", "$12", "$13", "$14", "$15", "$24", "$25", "hi", "lo", "memory"
45 );
43 : .{ .@"$1" = true, .@"$3" = true, .@"$5" = true, .@"$6" = true, .@"$7" = true, .@"$8" = true, .@"$9" = true, .@"$10" = true, .@"$11" = true, .@"$12" = true, .@"$13" = true, .@"$14" = true, .@"$15" = true, .@"$24" = true, .@"$25" = true, .hi = true, .lo = true, .memory = true });
4644}
4745
4846pub fn syscall1(number: SYS, arg1: usize) usize {
......@@ -55,8 +53,7 @@ pub fn syscall1(number: SYS, arg1: usize) usize {
5553 : [ret] "={$2}" (-> usize),
5654 : [number] "{$2}" (@intFromEnum(number)),
5755 [arg1] "{$4}" (arg1),
58 : "$1", "$3", "$5", "$6", "$7", "$8", "$9", "$10", "$11", "$12", "$13", "$14", "$15", "$24", "$25", "hi", "lo", "memory"
59 );
56 : .{ .@"$1" = true, .@"$3" = true, .@"$5" = true, .@"$6" = true, .@"$7" = true, .@"$8" = true, .@"$9" = true, .@"$10" = true, .@"$11" = true, .@"$12" = true, .@"$13" = true, .@"$14" = true, .@"$15" = true, .@"$24" = true, .@"$25" = true, .hi = true, .lo = true, .memory = true });
6057}
6158
6259pub fn syscall2(number: SYS, arg1: usize, arg2: usize) usize {
......@@ -70,8 +67,7 @@ pub fn syscall2(number: SYS, arg1: usize, arg2: usize) usize {
7067 : [number] "{$2}" (@intFromEnum(number)),
7168 [arg1] "{$4}" (arg1),
7269 [arg2] "{$5}" (arg2),
73 : "$1", "$3", "$6", "$7", "$8", "$9", "$10", "$11", "$12", "$13", "$14", "$15", "$24", "$25", "hi", "lo", "memory"
74 );
70 : .{ .@"$1" = true, .@"$3" = true, .@"$6" = true, .@"$7" = true, .@"$8" = true, .@"$9" = true, .@"$10" = true, .@"$11" = true, .@"$12" = true, .@"$13" = true, .@"$14" = true, .@"$15" = true, .@"$24" = true, .@"$25" = true, .hi = true, .lo = true, .memory = true });
7571}
7672
7773pub fn syscall3(number: SYS, arg1: usize, arg2: usize, arg3: usize) usize {
......@@ -86,8 +82,7 @@ pub fn syscall3(number: SYS, arg1: usize, arg2: usize, arg3: usize) usize {
8682 [arg1] "{$4}" (arg1),
8783 [arg2] "{$5}" (arg2),
8884 [arg3] "{$6}" (arg3),
89 : "$1", "$3", "$7", "$8", "$9", "$10", "$11", "$12", "$13", "$14", "$15", "$24", "$25", "hi", "lo", "memory"
90 );
85 : .{ .@"$1" = true, .@"$3" = true, .@"$7" = true, .@"$8" = true, .@"$9" = true, .@"$10" = true, .@"$11" = true, .@"$12" = true, .@"$13" = true, .@"$14" = true, .@"$15" = true, .@"$24" = true, .@"$25" = true, .hi = true, .lo = true, .memory = true });
9186}
9287
9388pub fn syscall4(number: SYS, arg1: usize, arg2: usize, arg3: usize, arg4: usize) usize {
......@@ -103,8 +98,7 @@ pub fn syscall4(number: SYS, arg1: usize, arg2: usize, arg3: usize, arg4: usize)
10398 [arg2] "{$5}" (arg2),
10499 [arg3] "{$6}" (arg3),
105100 [arg4] "{$7}" (arg4),
106 : "$1", "$3", "$8", "$9", "$10", "$11", "$12", "$13", "$14", "$15", "$24", "$25", "hi", "lo", "memory"
107 );
101 : .{ .@"$1" = true, .@"$3" = true, .@"$8" = true, .@"$9" = true, .@"$10" = true, .@"$11" = true, .@"$12" = true, .@"$13" = true, .@"$14" = true, .@"$15" = true, .@"$24" = true, .@"$25" = true, .hi = true, .lo = true, .memory = true });
108102}
109103
110104pub fn syscall5(number: SYS, arg1: usize, arg2: usize, arg3: usize, arg4: usize, arg5: usize) usize {
......@@ -125,8 +119,7 @@ pub fn syscall5(number: SYS, arg1: usize, arg2: usize, arg3: usize, arg4: usize,
125119 [arg3] "{$6}" (arg3),
126120 [arg4] "{$7}" (arg4),
127121 [arg5] "r" (arg5),
128 : "$1", "$3", "$8", "$9", "$10", "$11", "$12", "$13", "$14", "$15", "$24", "$25", "hi", "lo", "memory"
129 );
122 : .{ .@"$1" = true, .@"$3" = true, .@"$8" = true, .@"$9" = true, .@"$10" = true, .@"$11" = true, .@"$12" = true, .@"$13" = true, .@"$14" = true, .@"$15" = true, .@"$24" = true, .@"$25" = true, .hi = true, .lo = true, .memory = true });
130123}
131124
132125// NOTE: The o32 calling convention requires the callee to reserve 16 bytes for
......@@ -160,8 +153,7 @@ pub fn syscall6(
160153 [arg4] "{$7}" (arg4),
161154 [arg5] "r" (arg5),
162155 [arg6] "r" (arg6),
163 : "$1", "$3", "$8", "$9", "$10", "$11", "$12", "$13", "$14", "$15", "$24", "$25", "hi", "lo", "memory"
164 );
156 : .{ .@"$1" = true, .@"$3" = true, .@"$8" = true, .@"$9" = true, .@"$10" = true, .@"$11" = true, .@"$12" = true, .@"$13" = true, .@"$14" = true, .@"$15" = true, .@"$24" = true, .@"$25" = true, .hi = true, .lo = true, .memory = true });
165157}
166158
167159pub fn syscall7(
......@@ -195,8 +187,7 @@ pub fn syscall7(
195187 [arg5] "r" (arg5),
196188 [arg6] "r" (arg6),
197189 [arg7] "r" (arg7),
198 : "$1", "$3", "$8", "$9", "$10", "$11", "$12", "$13", "$14", "$15", "$24", "$25", "hi", "lo", "memory"
199 );
190 : .{ .@"$1" = true, .@"$3" = true, .@"$8" = true, .@"$9" = true, .@"$10" = true, .@"$11" = true, .@"$12" = true, .@"$13" = true, .@"$14" = true, .@"$15" = true, .@"$24" = true, .@"$25" = true, .hi = true, .lo = true, .memory = true });
200191}
201192
202193pub fn clone() callconv(.naked) usize {
......@@ -255,8 +246,7 @@ pub fn restore() callconv(.naked) noreturn {
255246 \\ syscall
256247 :
257248 : [number] "{$2}" (@intFromEnum(SYS.sigreturn)),
258 : "$1", "$3", "$4", "$5", "$6", "$7", "$8", "$9", "$10", "$11", "$12", "$13", "$14", "$15", "$24", "$25", "hi", "lo", "memory"
259 );
249 : .{ .@"$1" = true, .@"$3" = true, .@"$4" = true, .@"$5" = true, .@"$6" = true, .@"$7" = true, .@"$8" = true, .@"$9" = true, .@"$10" = true, .@"$11" = true, .@"$12" = true, .@"$13" = true, .@"$14" = true, .@"$15" = true, .@"$24" = true, .@"$25" = true, .hi = true, .lo = true, .memory = true });
260250}
261251
262252pub fn restore_rt() callconv(.naked) noreturn {
......@@ -264,8 +254,7 @@ pub fn restore_rt() callconv(.naked) noreturn {
264254 \\ syscall
265255 :
266256 : [number] "{$2}" (@intFromEnum(SYS.rt_sigreturn)),
267 : "$1", "$3", "$4", "$5", "$6", "$7", "$8", "$9", "$10", "$11", "$12", "$13", "$14", "$15", "$24", "$25", "hi", "lo", "memory"
268 );
257 : .{ .@"$1" = true, .@"$3" = true, .@"$4" = true, .@"$5" = true, .@"$6" = true, .@"$7" = true, .@"$8" = true, .@"$9" = true, .@"$10" = true, .@"$11" = true, .@"$12" = true, .@"$13" = true, .@"$14" = true, .@"$15" = true, .@"$24" = true, .@"$25" = true, .hi = true, .lo = true, .memory = true });
269258}
270259
271260pub const F = struct {
lib/std/os/linux/mips64.zig+11-22
......@@ -21,8 +21,7 @@ pub fn syscall0(number: SYS) usize {
2121 \\ 1:
2222 : [ret] "={$2}" (-> usize),
2323 : [number] "{$2}" (@intFromEnum(number)),
24 : "$1", "$3", "$4", "$5", "$6", "$7", "$8", "$9", "$10", "$11", "$12", "$13", "$14", "$15", "$24", "$25", "hi", "lo", "memory"
25 );
24 : .{ .@"$1" = true, .@"$3" = true, .@"$4" = true, .@"$5" = true, .@"$6" = true, .@"$7" = true, .@"$8" = true, .@"$9" = true, .@"$10" = true, .@"$11" = true, .@"$12" = true, .@"$13" = true, .@"$14" = true, .@"$15" = true, .@"$24" = true, .@"$25" = true, .hi = true, .lo = true, .memory = true });
2625}
2726
2827pub fn syscall_pipe(fd: *[2]i32) usize {
......@@ -41,8 +40,7 @@ pub fn syscall_pipe(fd: *[2]i32) usize {
4140 : [ret] "={$2}" (-> usize),
4241 : [number] "{$2}" (@intFromEnum(SYS.pipe)),
4342 [fd] "{$4}" (fd),
44 : "$1", "$3", "$5", "$6", "$7", "$8", "$9", "$10", "$11", "$12", "$13", "$14", "$15", "$24", "$25", "hi", "lo", "memory"
45 );
43 : .{ .@"$1" = true, .@"$3" = true, .@"$5" = true, .@"$6" = true, .@"$7" = true, .@"$8" = true, .@"$9" = true, .@"$10" = true, .@"$11" = true, .@"$12" = true, .@"$13" = true, .@"$14" = true, .@"$15" = true, .@"$24" = true, .@"$25" = true, .hi = true, .lo = true, .memory = true });
4644}
4745
4846pub fn syscall1(number: SYS, arg1: usize) usize {
......@@ -56,8 +54,7 @@ pub fn syscall1(number: SYS, arg1: usize) usize {
5654 : [ret] "={$2}" (-> usize),
5755 : [number] "{$2}" (@intFromEnum(number)),
5856 [arg1] "{$4}" (arg1),
59 : "$1", "$3", "$5", "$6", "$7", "$8", "$9", "$10", "$11", "$12", "$13", "$14", "$15", "$24", "$25", "hi", "lo", "memory"
60 );
57 : .{ .@"$1" = true, .@"$3" = true, .@"$5" = true, .@"$6" = true, .@"$7" = true, .@"$8" = true, .@"$9" = true, .@"$10" = true, .@"$11" = true, .@"$12" = true, .@"$13" = true, .@"$14" = true, .@"$15" = true, .@"$24" = true, .@"$25" = true, .hi = true, .lo = true, .memory = true });
6158}
6259
6360pub fn syscall2(number: SYS, arg1: usize, arg2: usize) usize {
......@@ -71,8 +68,7 @@ pub fn syscall2(number: SYS, arg1: usize, arg2: usize) usize {
7168 : [number] "{$2}" (@intFromEnum(number)),
7269 [arg1] "{$4}" (arg1),
7370 [arg2] "{$5}" (arg2),
74 : "$1", "$3", "$6", "$7", "$8", "$9", "$10", "$11", "$12", "$13", "$14", "$15", "$24", "$25", "hi", "lo", "memory"
75 );
71 : .{ .@"$1" = true, .@"$3" = true, .@"$6" = true, .@"$7" = true, .@"$8" = true, .@"$9" = true, .@"$10" = true, .@"$11" = true, .@"$12" = true, .@"$13" = true, .@"$14" = true, .@"$15" = true, .@"$24" = true, .@"$25" = true, .hi = true, .lo = true, .memory = true });
7672}
7773
7874pub fn syscall3(number: SYS, arg1: usize, arg2: usize, arg3: usize) usize {
......@@ -87,8 +83,7 @@ pub fn syscall3(number: SYS, arg1: usize, arg2: usize, arg3: usize) usize {
8783 [arg1] "{$4}" (arg1),
8884 [arg2] "{$5}" (arg2),
8985 [arg3] "{$6}" (arg3),
90 : "$1", "$3", "$7", "$8", "$9", "$10", "$11", "$12", "$13", "$14", "$15", "$24", "$25", "hi", "lo", "memory"
91 );
86 : .{ .@"$1" = true, .@"$3" = true, .@"$7" = true, .@"$8" = true, .@"$9" = true, .@"$10" = true, .@"$11" = true, .@"$12" = true, .@"$13" = true, .@"$14" = true, .@"$15" = true, .@"$24" = true, .@"$25" = true, .hi = true, .lo = true, .memory = true });
9287}
9388
9489pub fn syscall4(number: SYS, arg1: usize, arg2: usize, arg3: usize, arg4: usize) usize {
......@@ -104,8 +99,7 @@ pub fn syscall4(number: SYS, arg1: usize, arg2: usize, arg3: usize, arg4: usize)
10499 [arg2] "{$5}" (arg2),
105100 [arg3] "{$6}" (arg3),
106101 [arg4] "{$7}" (arg4),
107 : "$1", "$3", "$8", "$9", "$10", "$11", "$12", "$13", "$14", "$15", "$24", "$25", "hi", "lo", "memory"
108 );
102 : .{ .@"$1" = true, .@"$3" = true, .@"$8" = true, .@"$9" = true, .@"$10" = true, .@"$11" = true, .@"$12" = true, .@"$13" = true, .@"$14" = true, .@"$15" = true, .@"$24" = true, .@"$25" = true, .hi = true, .lo = true, .memory = true });
109103}
110104
111105pub fn syscall5(number: SYS, arg1: usize, arg2: usize, arg3: usize, arg4: usize, arg5: usize) usize {
......@@ -122,8 +116,7 @@ pub fn syscall5(number: SYS, arg1: usize, arg2: usize, arg3: usize, arg4: usize,
122116 [arg3] "{$6}" (arg3),
123117 [arg4] "{$7}" (arg4),
124118 [arg5] "{$8}" (arg5),
125 : "$1", "$3", "$8", "$9", "$10", "$11", "$12", "$13", "$14", "$15", "$24", "$25", "hi", "lo", "memory"
126 );
119 : .{ .@"$1" = true, .@"$3" = true, .@"$8" = true, .@"$9" = true, .@"$10" = true, .@"$11" = true, .@"$12" = true, .@"$13" = true, .@"$14" = true, .@"$15" = true, .@"$24" = true, .@"$25" = true, .hi = true, .lo = true, .memory = true });
127120}
128121
129122pub fn syscall6(
......@@ -149,8 +142,7 @@ pub fn syscall6(
149142 [arg4] "{$7}" (arg4),
150143 [arg5] "{$8}" (arg5),
151144 [arg6] "{$9}" (arg6),
152 : "$1", "$3", "$8", "$9", "$10", "$11", "$12", "$13", "$14", "$15", "$24", "$25", "hi", "lo", "memory"
153 );
145 : .{ .@"$1" = true, .@"$3" = true, .@"$8" = true, .@"$9" = true, .@"$10" = true, .@"$11" = true, .@"$12" = true, .@"$13" = true, .@"$14" = true, .@"$15" = true, .@"$24" = true, .@"$25" = true, .hi = true, .lo = true, .memory = true });
154146}
155147
156148pub fn syscall7(
......@@ -178,8 +170,7 @@ pub fn syscall7(
178170 [arg5] "{$8}" (arg5),
179171 [arg6] "{$9}" (arg6),
180172 [arg7] "{$10}" (arg7),
181 : "$1", "$3", "$8", "$9", "$10", "$11", "$12", "$13", "$14", "$15", "$24", "$25", "hi", "lo", "memory"
182 );
173 : .{ .@"$1" = true, .@"$3" = true, .@"$8" = true, .@"$9" = true, .@"$10" = true, .@"$11" = true, .@"$12" = true, .@"$13" = true, .@"$14" = true, .@"$15" = true, .@"$24" = true, .@"$25" = true, .hi = true, .lo = true, .memory = true });
183174}
184175
185176pub fn clone() callconv(.naked) usize {
......@@ -234,8 +225,7 @@ pub fn restore() callconv(.naked) noreturn {
234225 \\ syscall
235226 :
236227 : [number] "{$2}" (@intFromEnum(SYS.rt_sigreturn)),
237 : "$1", "$3", "$4", "$5", "$6", "$7", "$8", "$9", "$10", "$11", "$12", "$13", "$14", "$15", "$24", "$25", "hi", "lo", "memory"
238 );
228 : .{ .@"$1" = true, .@"$3" = true, .@"$4" = true, .@"$5" = true, .@"$6" = true, .@"$7" = true, .@"$8" = true, .@"$9" = true, .@"$10" = true, .@"$11" = true, .@"$12" = true, .@"$13" = true, .@"$14" = true, .@"$15" = true, .@"$24" = true, .@"$25" = true, .hi = true, .lo = true, .memory = true });
239229}
240230
241231pub fn restore_rt() callconv(.naked) noreturn {
......@@ -243,8 +233,7 @@ pub fn restore_rt() callconv(.naked) noreturn {
243233 \\ syscall
244234 :
245235 : [number] "{$2}" (@intFromEnum(SYS.rt_sigreturn)),
246 : "$1", "$3", "$4", "$5", "$6", "$7", "$8", "$9", "$10", "$11", "$12", "$13", "$14", "$15", "$24", "$25", "hi", "lo", "memory"
247 );
236 : .{ .@"$1" = true, .@"$3" = true, .@"$4" = true, .@"$5" = true, .@"$6" = true, .@"$7" = true, .@"$8" = true, .@"$9" = true, .@"$10" = true, .@"$11" = true, .@"$12" = true, .@"$13" = true, .@"$14" = true, .@"$15" = true, .@"$24" = true, .@"$25" = true, .hi = true, .lo = true, .memory = true });
248237}
249238
250239pub const F = struct {
lib/std/os/linux/powerpc.zig+8-16
......@@ -22,8 +22,7 @@ pub fn syscall0(number: SYS) usize {
2222 \\ 1:
2323 : [ret] "={r3}" (-> usize),
2424 : [number] "{r0}" (@intFromEnum(number)),
25 : "memory", "cr0", "r0", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12"
26 );
25 : .{ .memory = true, .cr0 = true, .r0 = true, .r4 = true, .r5 = true, .r6 = true, .r7 = true, .r8 = true, .r9 = true, .r10 = true, .r11 = true, .r12 = true });
2726}
2827
2928pub fn syscall1(number: SYS, arg1: usize) usize {
......@@ -35,8 +34,7 @@ pub fn syscall1(number: SYS, arg1: usize) usize {
3534 : [ret] "={r3}" (-> usize),
3635 : [number] "{r0}" (@intFromEnum(number)),
3736 [arg1] "{r3}" (arg1),
38 : "memory", "cr0", "r0", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12"
39 );
37 : .{ .memory = true, .cr0 = true, .r0 = true, .r4 = true, .r5 = true, .r6 = true, .r7 = true, .r8 = true, .r9 = true, .r10 = true, .r11 = true, .r12 = true });
4038}
4139
4240pub fn syscall2(number: SYS, arg1: usize, arg2: usize) usize {
......@@ -49,8 +47,7 @@ pub fn syscall2(number: SYS, arg1: usize, arg2: usize) usize {
4947 : [number] "{r0}" (@intFromEnum(number)),
5048 [arg1] "{r3}" (arg1),
5149 [arg2] "{r4}" (arg2),
52 : "memory", "cr0", "r0", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12"
53 );
50 : .{ .memory = true, .cr0 = true, .r0 = true, .r4 = true, .r5 = true, .r6 = true, .r7 = true, .r8 = true, .r9 = true, .r10 = true, .r11 = true, .r12 = true });
5451}
5552
5653pub fn syscall3(number: SYS, arg1: usize, arg2: usize, arg3: usize) usize {
......@@ -64,8 +61,7 @@ pub fn syscall3(number: SYS, arg1: usize, arg2: usize, arg3: usize) usize {
6461 [arg1] "{r3}" (arg1),
6562 [arg2] "{r4}" (arg2),
6663 [arg3] "{r5}" (arg3),
67 : "memory", "cr0", "r0", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12"
68 );
64 : .{ .memory = true, .cr0 = true, .r0 = true, .r4 = true, .r5 = true, .r6 = true, .r7 = true, .r8 = true, .r9 = true, .r10 = true, .r11 = true, .r12 = true });
6965}
7066
7167pub fn syscall4(number: SYS, arg1: usize, arg2: usize, arg3: usize, arg4: usize) usize {
......@@ -80,8 +76,7 @@ pub fn syscall4(number: SYS, arg1: usize, arg2: usize, arg3: usize, arg4: usize)
8076 [arg2] "{r4}" (arg2),
8177 [arg3] "{r5}" (arg3),
8278 [arg4] "{r6}" (arg4),
83 : "memory", "cr0", "r0", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12"
84 );
79 : .{ .memory = true, .cr0 = true, .r0 = true, .r4 = true, .r5 = true, .r6 = true, .r7 = true, .r8 = true, .r9 = true, .r10 = true, .r11 = true, .r12 = true });
8580}
8681
8782pub fn syscall5(number: SYS, arg1: usize, arg2: usize, arg3: usize, arg4: usize, arg5: usize) usize {
......@@ -97,8 +92,7 @@ pub fn syscall5(number: SYS, arg1: usize, arg2: usize, arg3: usize, arg4: usize,
9792 [arg3] "{r5}" (arg3),
9893 [arg4] "{r6}" (arg4),
9994 [arg5] "{r7}" (arg5),
100 : "memory", "cr0", "r0", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12"
101 );
95 : .{ .memory = true, .cr0 = true, .r0 = true, .r4 = true, .r5 = true, .r6 = true, .r7 = true, .r8 = true, .r9 = true, .r10 = true, .r11 = true, .r12 = true });
10296}
10397
10498pub fn syscall6(
......@@ -123,8 +117,7 @@ pub fn syscall6(
123117 [arg4] "{r6}" (arg4),
124118 [arg5] "{r7}" (arg5),
125119 [arg6] "{r8}" (arg6),
126 : "memory", "cr0", "r0", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12"
127 );
120 : .{ .memory = true, .cr0 = true, .r0 = true, .r4 = true, .r5 = true, .r6 = true, .r7 = true, .r8 = true, .r9 = true, .r10 = true, .r11 = true, .r12 = true });
128121}
129122
130123pub fn clone() callconv(.naked) usize {
......@@ -204,8 +197,7 @@ pub fn restore_rt() callconv(.naked) noreturn {
204197 \\ sc
205198 :
206199 : [number] "{r0}" (@intFromEnum(SYS.rt_sigreturn)),
207 : "memory", "cr0", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12"
208 );
200 : .{ .memory = true, .cr0 = true, .r4 = true, .r5 = true, .r6 = true, .r7 = true, .r8 = true, .r9 = true, .r10 = true, .r11 = true, .r12 = true });
209201}
210202
211203pub const F = struct {
lib/std/os/linux/powerpc64.zig+8-16
......@@ -22,8 +22,7 @@ pub fn syscall0(number: SYS) usize {
2222 \\ 1:
2323 : [ret] "={r3}" (-> usize),
2424 : [number] "{r0}" (@intFromEnum(number)),
25 : "memory", "cr0", "r0", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12"
26 );
25 : .{ .memory = true, .cr0 = true, .r0 = true, .r4 = true, .r5 = true, .r6 = true, .r7 = true, .r8 = true, .r9 = true, .r10 = true, .r11 = true, .r12 = true });
2726}
2827
2928pub fn syscall1(number: SYS, arg1: usize) usize {
......@@ -35,8 +34,7 @@ pub fn syscall1(number: SYS, arg1: usize) usize {
3534 : [ret] "={r3}" (-> usize),
3635 : [number] "{r0}" (@intFromEnum(number)),
3736 [arg1] "{r3}" (arg1),
38 : "memory", "cr0", "r0", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12"
39 );
37 : .{ .memory = true, .cr0 = true, .r0 = true, .r4 = true, .r5 = true, .r6 = true, .r7 = true, .r8 = true, .r9 = true, .r10 = true, .r11 = true, .r12 = true });
4038}
4139
4240pub fn syscall2(number: SYS, arg1: usize, arg2: usize) usize {
......@@ -49,8 +47,7 @@ pub fn syscall2(number: SYS, arg1: usize, arg2: usize) usize {
4947 : [number] "{r0}" (@intFromEnum(number)),
5048 [arg1] "{r3}" (arg1),
5149 [arg2] "{r4}" (arg2),
52 : "memory", "cr0", "r0", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12"
53 );
50 : .{ .memory = true, .cr0 = true, .r0 = true, .r4 = true, .r5 = true, .r6 = true, .r7 = true, .r8 = true, .r9 = true, .r10 = true, .r11 = true, .r12 = true });
5451}
5552
5653pub fn syscall3(number: SYS, arg1: usize, arg2: usize, arg3: usize) usize {
......@@ -64,8 +61,7 @@ pub fn syscall3(number: SYS, arg1: usize, arg2: usize, arg3: usize) usize {
6461 [arg1] "{r3}" (arg1),
6562 [arg2] "{r4}" (arg2),
6663 [arg3] "{r5}" (arg3),
67 : "memory", "cr0", "r0", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12"
68 );
64 : .{ .memory = true, .cr0 = true, .r0 = true, .r4 = true, .r5 = true, .r6 = true, .r7 = true, .r8 = true, .r9 = true, .r10 = true, .r11 = true, .r12 = true });
6965}
7066
7167pub fn syscall4(number: SYS, arg1: usize, arg2: usize, arg3: usize, arg4: usize) usize {
......@@ -80,8 +76,7 @@ pub fn syscall4(number: SYS, arg1: usize, arg2: usize, arg3: usize, arg4: usize)
8076 [arg2] "{r4}" (arg2),
8177 [arg3] "{r5}" (arg3),
8278 [arg4] "{r6}" (arg4),
83 : "memory", "cr0", "r0", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12"
84 );
79 : .{ .memory = true, .cr0 = true, .r0 = true, .r4 = true, .r5 = true, .r6 = true, .r7 = true, .r8 = true, .r9 = true, .r10 = true, .r11 = true, .r12 = true });
8580}
8681
8782pub fn syscall5(number: SYS, arg1: usize, arg2: usize, arg3: usize, arg4: usize, arg5: usize) usize {
......@@ -97,8 +92,7 @@ pub fn syscall5(number: SYS, arg1: usize, arg2: usize, arg3: usize, arg4: usize,
9792 [arg3] "{r5}" (arg3),
9893 [arg4] "{r6}" (arg4),
9994 [arg5] "{r7}" (arg5),
100 : "memory", "cr0", "r0", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12"
101 );
95 : .{ .memory = true, .cr0 = true, .r0 = true, .r4 = true, .r5 = true, .r6 = true, .r7 = true, .r8 = true, .r9 = true, .r10 = true, .r11 = true, .r12 = true });
10296}
10397
10498pub fn syscall6(
......@@ -123,8 +117,7 @@ pub fn syscall6(
123117 [arg4] "{r6}" (arg4),
124118 [arg5] "{r7}" (arg5),
125119 [arg6] "{r8}" (arg6),
126 : "memory", "cr0", "r0", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12"
127 );
120 : .{ .memory = true, .cr0 = true, .r0 = true, .r4 = true, .r5 = true, .r6 = true, .r7 = true, .r8 = true, .r9 = true, .r10 = true, .r11 = true, .r12 = true });
128121}
129122
130123pub fn clone() callconv(.naked) usize {
......@@ -189,8 +182,7 @@ pub fn restore_rt() callconv(.naked) noreturn {
189182 \\ sc
190183 :
191184 : [number] "{r0}" (@intFromEnum(SYS.rt_sigreturn)),
192 : "memory", "cr0", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12"
193 );
185 : .{ .memory = true, .cr0 = true, .r4 = true, .r5 = true, .r6 = true, .r7 = true, .r8 = true, .r9 = true, .r10 = true, .r11 = true, .r12 = true });
194186}
195187
196188pub const F = struct {
lib/std/os/linux/riscv32.zig+8-16
......@@ -17,8 +17,7 @@ pub fn syscall0(number: SYS) usize {
1717 return asm volatile ("ecall"
1818 : [ret] "={x10}" (-> usize),
1919 : [number] "{x17}" (@intFromEnum(number)),
20 : "memory"
21 );
20 : .{ .memory = true });
2221}
2322
2423pub fn syscall1(number: SYS, arg1: usize) usize {
......@@ -26,8 +25,7 @@ pub fn syscall1(number: SYS, arg1: usize) usize {
2625 : [ret] "={x10}" (-> usize),
2726 : [number] "{x17}" (@intFromEnum(number)),
2827 [arg1] "{x10}" (arg1),
29 : "memory"
30 );
28 : .{ .memory = true });
3129}
3230
3331pub fn syscall2(number: SYS, arg1: usize, arg2: usize) usize {
......@@ -36,8 +34,7 @@ pub fn syscall2(number: SYS, arg1: usize, arg2: usize) usize {
3634 : [number] "{x17}" (@intFromEnum(number)),
3735 [arg1] "{x10}" (arg1),
3836 [arg2] "{x11}" (arg2),
39 : "memory"
40 );
37 : .{ .memory = true });
4138}
4239
4340pub fn syscall3(number: SYS, arg1: usize, arg2: usize, arg3: usize) usize {
......@@ -47,8 +44,7 @@ pub fn syscall3(number: SYS, arg1: usize, arg2: usize, arg3: usize) usize {
4744 [arg1] "{x10}" (arg1),
4845 [arg2] "{x11}" (arg2),
4946 [arg3] "{x12}" (arg3),
50 : "memory"
51 );
47 : .{ .memory = true });
5248}
5349
5450pub fn syscall4(number: SYS, arg1: usize, arg2: usize, arg3: usize, arg4: usize) usize {
......@@ -59,8 +55,7 @@ pub fn syscall4(number: SYS, arg1: usize, arg2: usize, arg3: usize, arg4: usize)
5955 [arg2] "{x11}" (arg2),
6056 [arg3] "{x12}" (arg3),
6157 [arg4] "{x13}" (arg4),
62 : "memory"
63 );
58 : .{ .memory = true });
6459}
6560
6661pub fn syscall5(number: SYS, arg1: usize, arg2: usize, arg3: usize, arg4: usize, arg5: usize) usize {
......@@ -72,8 +67,7 @@ pub fn syscall5(number: SYS, arg1: usize, arg2: usize, arg3: usize, arg4: usize,
7267 [arg3] "{x12}" (arg3),
7368 [arg4] "{x13}" (arg4),
7469 [arg5] "{x14}" (arg5),
75 : "memory"
76 );
70 : .{ .memory = true });
7771}
7872
7973pub fn syscall6(
......@@ -94,8 +88,7 @@ pub fn syscall6(
9488 [arg4] "{x13}" (arg4),
9589 [arg5] "{x14}" (arg5),
9690 [arg6] "{x15}" (arg6),
97 : "memory"
98 );
91 : .{ .memory = true });
9992}
10093
10194pub fn clone() callconv(.naked) usize {
......@@ -149,8 +142,7 @@ pub fn restore_rt() callconv(.naked) noreturn {
149142 \\ ecall
150143 :
151144 : [number] "{x17}" (@intFromEnum(SYS.rt_sigreturn)),
152 : "memory"
153 );
145 : .{ .memory = true });
154146}
155147
156148pub const F = struct {
lib/std/os/linux/riscv64.zig+8-16
......@@ -17,8 +17,7 @@ pub fn syscall0(number: SYS) usize {
1717 return asm volatile ("ecall"
1818 : [ret] "={x10}" (-> usize),
1919 : [number] "{x17}" (@intFromEnum(number)),
20 : "memory"
21 );
20 : .{ .memory = true });
2221}
2322
2423pub fn syscall1(number: SYS, arg1: usize) usize {
......@@ -26,8 +25,7 @@ pub fn syscall1(number: SYS, arg1: usize) usize {
2625 : [ret] "={x10}" (-> usize),
2726 : [number] "{x17}" (@intFromEnum(number)),
2827 [arg1] "{x10}" (arg1),
29 : "memory"
30 );
28 : .{ .memory = true });
3129}
3230
3331pub fn syscall2(number: SYS, arg1: usize, arg2: usize) usize {
......@@ -36,8 +34,7 @@ pub fn syscall2(number: SYS, arg1: usize, arg2: usize) usize {
3634 : [number] "{x17}" (@intFromEnum(number)),
3735 [arg1] "{x10}" (arg1),
3836 [arg2] "{x11}" (arg2),
39 : "memory"
40 );
37 : .{ .memory = true });
4138}
4239
4340pub fn syscall3(number: SYS, arg1: usize, arg2: usize, arg3: usize) usize {
......@@ -47,8 +44,7 @@ pub fn syscall3(number: SYS, arg1: usize, arg2: usize, arg3: usize) usize {
4744 [arg1] "{x10}" (arg1),
4845 [arg2] "{x11}" (arg2),
4946 [arg3] "{x12}" (arg3),
50 : "memory"
51 );
47 : .{ .memory = true });
5248}
5349
5450pub fn syscall4(number: SYS, arg1: usize, arg2: usize, arg3: usize, arg4: usize) usize {
......@@ -59,8 +55,7 @@ pub fn syscall4(number: SYS, arg1: usize, arg2: usize, arg3: usize, arg4: usize)
5955 [arg2] "{x11}" (arg2),
6056 [arg3] "{x12}" (arg3),
6157 [arg4] "{x13}" (arg4),
62 : "memory"
63 );
58 : .{ .memory = true });
6459}
6560
6661pub fn syscall5(number: SYS, arg1: usize, arg2: usize, arg3: usize, arg4: usize, arg5: usize) usize {
......@@ -72,8 +67,7 @@ pub fn syscall5(number: SYS, arg1: usize, arg2: usize, arg3: usize, arg4: usize,
7267 [arg3] "{x12}" (arg3),
7368 [arg4] "{x13}" (arg4),
7469 [arg5] "{x14}" (arg5),
75 : "memory"
76 );
70 : .{ .memory = true });
7771}
7872
7973pub fn syscall6(
......@@ -94,8 +88,7 @@ pub fn syscall6(
9488 [arg4] "{x13}" (arg4),
9589 [arg5] "{x14}" (arg5),
9690 [arg6] "{x15}" (arg6),
97 : "memory"
98 );
91 : .{ .memory = true });
9992}
10093
10194pub fn clone() callconv(.naked) usize {
......@@ -149,8 +142,7 @@ pub fn restore_rt() callconv(.naked) noreturn {
149142 \\ ecall
150143 :
151144 : [number] "{x17}" (@intFromEnum(SYS.rt_sigreturn)),
152 : "memory"
153 );
145 : .{ .memory = true });
154146}
155147
156148pub const F = struct {
lib/std/os/linux/s390x.zig+8-16
......@@ -17,8 +17,7 @@ pub fn syscall0(number: SYS) usize {
1717 return asm volatile ("svc 0"
1818 : [ret] "={r2}" (-> usize),
1919 : [number] "{r1}" (@intFromEnum(number)),
20 : "memory"
21 );
20 : .{ .memory = true });
2221}
2322
2423pub fn syscall1(number: SYS, arg1: usize) usize {
......@@ -26,8 +25,7 @@ pub fn syscall1(number: SYS, arg1: usize) usize {
2625 : [ret] "={r2}" (-> usize),
2726 : [number] "{r1}" (@intFromEnum(number)),
2827 [arg1] "{r2}" (arg1),
29 : "memory"
30 );
28 : .{ .memory = true });
3129}
3230
3331pub fn syscall2(number: SYS, arg1: usize, arg2: usize) usize {
......@@ -36,8 +34,7 @@ pub fn syscall2(number: SYS, arg1: usize, arg2: usize) usize {
3634 : [number] "{r1}" (@intFromEnum(number)),
3735 [arg1] "{r2}" (arg1),
3836 [arg2] "{r3}" (arg2),
39 : "memory"
40 );
37 : .{ .memory = true });
4138}
4239
4340pub fn syscall3(number: SYS, arg1: usize, arg2: usize, arg3: usize) usize {
......@@ -47,8 +44,7 @@ pub fn syscall3(number: SYS, arg1: usize, arg2: usize, arg3: usize) usize {
4744 [arg1] "{r2}" (arg1),
4845 [arg2] "{r3}" (arg2),
4946 [arg3] "{r4}" (arg3),
50 : "memory"
51 );
47 : .{ .memory = true });
5248}
5349
5450pub fn syscall4(number: SYS, arg1: usize, arg2: usize, arg3: usize, arg4: usize) usize {
......@@ -59,8 +55,7 @@ pub fn syscall4(number: SYS, arg1: usize, arg2: usize, arg3: usize, arg4: usize)
5955 [arg2] "{r3}" (arg2),
6056 [arg3] "{r4}" (arg3),
6157 [arg4] "{r5}" (arg4),
62 : "memory"
63 );
58 : .{ .memory = true });
6459}
6560
6661pub fn syscall5(number: SYS, arg1: usize, arg2: usize, arg3: usize, arg4: usize, arg5: usize) usize {
......@@ -72,8 +67,7 @@ pub fn syscall5(number: SYS, arg1: usize, arg2: usize, arg3: usize, arg4: usize,
7267 [arg3] "{r4}" (arg3),
7368 [arg4] "{r5}" (arg4),
7469 [arg5] "{r6}" (arg5),
75 : "memory"
76 );
70 : .{ .memory = true });
7771}
7872
7973pub fn syscall6(number: SYS, arg1: usize, arg2: usize, arg3: usize, arg4: usize, arg5: usize, arg6: usize) usize {
......@@ -86,8 +80,7 @@ pub fn syscall6(number: SYS, arg1: usize, arg2: usize, arg3: usize, arg4: usize,
8680 [arg4] "{r5}" (arg4),
8781 [arg5] "{r6}" (arg5),
8882 [arg6] "{r7}" (arg6),
89 : "memory"
90 );
83 : .{ .memory = true });
9184}
9285
9386pub fn clone() callconv(.naked) usize {
......@@ -161,8 +154,7 @@ pub fn restore_rt() callconv(.naked) noreturn {
161154 \\svc 0
162155 :
163156 : [number] "{r1}" (@intFromEnum(SYS.rt_sigreturn)),
164 : "memory"
165 );
157 : .{ .memory = true });
166158}
167159
168160pub const F = struct {
lib/std/os/linux/sparc64.zig+10-20
......@@ -32,8 +32,7 @@ pub fn syscall_pipe(fd: *[2]i32) usize {
3232 : [ret] "={o0}" (-> usize),
3333 : [number] "{g1}" (@intFromEnum(SYS.pipe)),
3434 [arg] "r" (fd),
35 : "memory", "g3"
36 );
35 : .{ .memory = true, .g3 = true });
3736}
3837
3938pub fn syscall_fork() usize {
......@@ -55,8 +54,7 @@ pub fn syscall_fork() usize {
5554 \\ 2:
5655 : [ret] "={o0}" (-> usize),
5756 : [number] "{g1}" (@intFromEnum(SYS.fork)),
58 : "memory", "xcc", "o1", "o2", "o3", "o4", "o5", "o7"
59 );
57 : .{ .memory = true, .xcc = true, .o1 = true, .o2 = true, .o3 = true, .o4 = true, .o5 = true, .o7 = true });
6058}
6159
6260pub fn syscall0(number: SYS) usize {
......@@ -68,8 +66,7 @@ pub fn syscall0(number: SYS) usize {
6866 \\ 1:
6967 : [ret] "={o0}" (-> usize),
7068 : [number] "{g1}" (@intFromEnum(number)),
71 : "memory", "xcc", "o1", "o2", "o3", "o4", "o5", "o7"
72 );
69 : .{ .memory = true, .xcc = true, .o1 = true, .o2 = true, .o3 = true, .o4 = true, .o5 = true, .o7 = true });
7370}
7471
7572pub fn syscall1(number: SYS, arg1: usize) usize {
......@@ -82,8 +79,7 @@ pub fn syscall1(number: SYS, arg1: usize) usize {
8279 : [ret] "={o0}" (-> usize),
8380 : [number] "{g1}" (@intFromEnum(number)),
8481 [arg1] "{o0}" (arg1),
85 : "memory", "xcc", "o1", "o2", "o3", "o4", "o5", "o7"
86 );
82 : .{ .memory = true, .xcc = true, .o1 = true, .o2 = true, .o3 = true, .o4 = true, .o5 = true, .o7 = true });
8783}
8884
8985pub fn syscall2(number: SYS, arg1: usize, arg2: usize) usize {
......@@ -97,8 +93,7 @@ pub fn syscall2(number: SYS, arg1: usize, arg2: usize) usize {
9793 : [number] "{g1}" (@intFromEnum(number)),
9894 [arg1] "{o0}" (arg1),
9995 [arg2] "{o1}" (arg2),
100 : "memory", "xcc", "o1", "o2", "o3", "o4", "o5", "o7"
101 );
96 : .{ .memory = true, .xcc = true, .o1 = true, .o2 = true, .o3 = true, .o4 = true, .o5 = true, .o7 = true });
10297}
10398
10499pub fn syscall3(number: SYS, arg1: usize, arg2: usize, arg3: usize) usize {
......@@ -113,8 +108,7 @@ pub fn syscall3(number: SYS, arg1: usize, arg2: usize, arg3: usize) usize {
113108 [arg1] "{o0}" (arg1),
114109 [arg2] "{o1}" (arg2),
115110 [arg3] "{o2}" (arg3),
116 : "memory", "xcc", "o1", "o2", "o3", "o4", "o5", "o7"
117 );
111 : .{ .memory = true, .xcc = true, .o1 = true, .o2 = true, .o3 = true, .o4 = true, .o5 = true, .o7 = true });
118112}
119113
120114pub fn syscall4(number: SYS, arg1: usize, arg2: usize, arg3: usize, arg4: usize) usize {
......@@ -130,8 +124,7 @@ pub fn syscall4(number: SYS, arg1: usize, arg2: usize, arg3: usize, arg4: usize)
130124 [arg2] "{o1}" (arg2),
131125 [arg3] "{o2}" (arg3),
132126 [arg4] "{o3}" (arg4),
133 : "memory", "xcc", "o1", "o2", "o3", "o4", "o5", "o7"
134 );
127 : .{ .memory = true, .xcc = true, .o1 = true, .o2 = true, .o3 = true, .o4 = true, .o5 = true, .o7 = true });
135128}
136129
137130pub fn syscall5(number: SYS, arg1: usize, arg2: usize, arg3: usize, arg4: usize, arg5: usize) usize {
......@@ -148,8 +141,7 @@ pub fn syscall5(number: SYS, arg1: usize, arg2: usize, arg3: usize, arg4: usize,
148141 [arg3] "{o2}" (arg3),
149142 [arg4] "{o3}" (arg4),
150143 [arg5] "{o4}" (arg5),
151 : "memory", "xcc", "o1", "o2", "o3", "o4", "o5", "o7"
152 );
144 : .{ .memory = true, .xcc = true, .o1 = true, .o2 = true, .o3 = true, .o4 = true, .o5 = true, .o7 = true });
153145}
154146
155147pub fn syscall6(
......@@ -175,8 +167,7 @@ pub fn syscall6(
175167 [arg4] "{o3}" (arg4),
176168 [arg5] "{o4}" (arg5),
177169 [arg6] "{o5}" (arg6),
178 : "memory", "xcc", "o1", "o2", "o3", "o4", "o5", "o7"
179 );
170 : .{ .memory = true, .xcc = true, .o1 = true, .o2 = true, .o3 = true, .o4 = true, .o5 = true, .o7 = true });
180171}
181172
182173pub fn clone() callconv(.naked) usize {
......@@ -242,8 +233,7 @@ pub fn restore_rt() callconv(.c) void {
242233 return asm volatile ("t 0x6d"
243234 :
244235 : [number] "{g1}" (@intFromEnum(SYS.rt_sigreturn)),
245 : "memory", "xcc", "o0", "o1", "o2", "o3", "o4", "o5", "o7"
246 );
236 : .{ .memory = true, .xcc = true, .o0 = true, .o1 = true, .o2 = true, .o3 = true, .o4 = true, .o5 = true, .o7 = true });
247237}
248238
249239pub const F = struct {
lib/std/os/linux/thumb.zig+8-16
......@@ -18,8 +18,7 @@ pub fn syscall0(number: SYS) usize {
1818 \\ ldr r7, [%[tmp], #4]
1919 : [ret] "={r0}" (-> usize),
2020 : [tmp] "{r1}" (&buf),
21 : "memory"
22 );
21 : .{ .memory = true });
2322}
2423
2524pub fn syscall1(number: SYS, arg1: usize) usize {
......@@ -34,8 +33,7 @@ pub fn syscall1(number: SYS, arg1: usize) usize {
3433 : [ret] "={r0}" (-> usize),
3534 : [tmp] "{r1}" (&buf),
3635 [arg1] "{r0}" (arg1),
37 : "memory"
38 );
36 : .{ .memory = true });
3937}
4038
4139pub fn syscall2(number: SYS, arg1: usize, arg2: usize) usize {
......@@ -51,8 +49,7 @@ pub fn syscall2(number: SYS, arg1: usize, arg2: usize) usize {
5149 : [tmp] "{r2}" (&buf),
5250 [arg1] "{r0}" (arg1),
5351 [arg2] "{r1}" (arg2),
54 : "memory"
55 );
52 : .{ .memory = true });
5653}
5754
5855pub fn syscall3(number: SYS, arg1: usize, arg2: usize, arg3: usize) usize {
......@@ -69,8 +66,7 @@ pub fn syscall3(number: SYS, arg1: usize, arg2: usize, arg3: usize) usize {
6966 [arg1] "{r0}" (arg1),
7067 [arg2] "{r1}" (arg2),
7168 [arg3] "{r2}" (arg3),
72 : "memory"
73 );
69 : .{ .memory = true });
7470}
7571
7672pub fn syscall4(number: SYS, arg1: usize, arg2: usize, arg3: usize, arg4: usize) usize {
......@@ -88,8 +84,7 @@ pub fn syscall4(number: SYS, arg1: usize, arg2: usize, arg3: usize, arg4: usize)
8884 [arg2] "{r1}" (arg2),
8985 [arg3] "{r2}" (arg3),
9086 [arg4] "{r3}" (arg4),
91 : "memory"
92 );
87 : .{ .memory = true });
9388}
9489
9590pub fn syscall5(number: SYS, arg1: usize, arg2: usize, arg3: usize, arg4: usize, arg5: usize) usize {
......@@ -108,8 +103,7 @@ pub fn syscall5(number: SYS, arg1: usize, arg2: usize, arg3: usize, arg4: usize,
108103 [arg3] "{r2}" (arg3),
109104 [arg4] "{r3}" (arg4),
110105 [arg5] "{r4}" (arg5),
111 : "memory"
112 );
106 : .{ .memory = true });
113107}
114108
115109pub fn syscall6(
......@@ -137,8 +131,7 @@ pub fn syscall6(
137131 [arg4] "{r3}" (arg4),
138132 [arg5] "{r4}" (arg5),
139133 [arg6] "{r5}" (arg6),
140 : "memory"
141 );
134 : .{ .memory = true });
142135}
143136
144137pub const clone = @import("arm.zig").clone;
......@@ -158,6 +151,5 @@ pub fn restore_rt() callconv(.naked) noreturn {
158151 \\ svc #0
159152 :
160153 : [number] "I" (@intFromEnum(SYS.rt_sigreturn)),
161 : "memory"
162 );
154 : .{ .memory = true });
163155}
lib/std/os/linux/tls.zig+1-2
......@@ -308,8 +308,7 @@ pub fn setThreadPointer(addr: usize) void {
308308 \\ sar %%a0, %%r0
309309 :
310310 : [addr] "r" (addr),
311 : "r0"
312 );
311 : .{ .r0 = true });
313312 },
314313 .sparc, .sparc64 => {
315314 asm volatile (
lib/std/os/linux/x86.zig+14-28
......@@ -18,8 +18,7 @@ pub fn syscall0(number: SYS) usize {
1818 return asm volatile ("int $0x80"
1919 : [ret] "={eax}" (-> usize),
2020 : [number] "{eax}" (@intFromEnum(number)),
21 : "memory"
22 );
21 : .{ .memory = true });
2322}
2423
2524pub fn syscall1(number: SYS, arg1: usize) usize {
......@@ -27,8 +26,7 @@ pub fn syscall1(number: SYS, arg1: usize) usize {
2726 : [ret] "={eax}" (-> usize),
2827 : [number] "{eax}" (@intFromEnum(number)),
2928 [arg1] "{ebx}" (arg1),
30 : "memory"
31 );
29 : .{ .memory = true });
3230}
3331
3432pub fn syscall2(number: SYS, arg1: usize, arg2: usize) usize {
......@@ -37,8 +35,7 @@ pub fn syscall2(number: SYS, arg1: usize, arg2: usize) usize {
3735 : [number] "{eax}" (@intFromEnum(number)),
3836 [arg1] "{ebx}" (arg1),
3937 [arg2] "{ecx}" (arg2),
40 : "memory"
41 );
38 : .{ .memory = true });
4239}
4340
4441pub fn syscall3(number: SYS, arg1: usize, arg2: usize, arg3: usize) usize {
......@@ -48,8 +45,7 @@ pub fn syscall3(number: SYS, arg1: usize, arg2: usize, arg3: usize) usize {
4845 [arg1] "{ebx}" (arg1),
4946 [arg2] "{ecx}" (arg2),
5047 [arg3] "{edx}" (arg3),
51 : "memory"
52 );
48 : .{ .memory = true });
5349}
5450
5551pub fn syscall4(number: SYS, arg1: usize, arg2: usize, arg3: usize, arg4: usize) usize {
......@@ -60,8 +56,7 @@ pub fn syscall4(number: SYS, arg1: usize, arg2: usize, arg3: usize, arg4: usize)
6056 [arg2] "{ecx}" (arg2),
6157 [arg3] "{edx}" (arg3),
6258 [arg4] "{esi}" (arg4),
63 : "memory"
64 );
59 : .{ .memory = true });
6560}
6661
6762pub fn syscall5(number: SYS, arg1: usize, arg2: usize, arg3: usize, arg4: usize, arg5: usize) usize {
......@@ -73,8 +68,7 @@ pub fn syscall5(number: SYS, arg1: usize, arg2: usize, arg3: usize, arg4: usize,
7368 [arg3] "{edx}" (arg3),
7469 [arg4] "{esi}" (arg4),
7570 [arg5] "{edi}" (arg5),
76 : "memory"
77 );
71 : .{ .memory = true });
7872}
7973
8074pub fn syscall6(
......@@ -108,8 +102,7 @@ pub fn syscall6(
108102 [arg4] "{esi}" (arg4),
109103 [arg5] "rm" (arg5),
110104 [arg6] "rm" (arg6),
111 : "memory"
112 );
105 : .{ .memory = true });
113106}
114107
115108pub fn socketcall(call: usize, args: [*]const usize) usize {
......@@ -118,8 +111,7 @@ pub fn socketcall(call: usize, args: [*]const usize) usize {
118111 : [number] "{eax}" (@intFromEnum(SYS.socketcall)),
119112 [arg1] "{ebx}" (call),
120113 [arg2] "{ecx}" (@intFromPtr(args)),
121 : "memory"
122 );
114 : .{ .memory = true });
123115}
124116
125117pub fn clone() callconv(.naked) usize {
......@@ -179,14 +171,12 @@ pub fn restore() callconv(.naked) noreturn {
179171 \\ int $0x80
180172 :
181173 : [number] "i" (@intFromEnum(SYS.sigreturn)),
182 : "memory"
183 ),
174 : .{ .memory = true }),
184175 else => asm volatile (
185176 \\ int $0x80
186177 :
187178 : [number] "{eax}" (@intFromEnum(SYS.sigreturn)),
188 : "memory"
189 ),
179 : .{ .memory = true }),
190180 }
191181}
192182
......@@ -197,14 +187,12 @@ pub fn restore_rt() callconv(.naked) noreturn {
197187 \\ int $0x80
198188 :
199189 : [number] "i" (@intFromEnum(SYS.rt_sigreturn)),
200 : "memory"
201 ),
190 : .{ .memory = true }),
202191 else => asm volatile (
203192 \\ int $0x80
204193 :
205194 : [number] "{eax}" (@intFromEnum(SYS.rt_sigreturn)),
206 : "memory"
207 ),
195 : .{ .memory = true }),
208196 }
209197}
210198
......@@ -442,8 +430,7 @@ pub fn getContextInternal() callconv(.naked) usize {
442430 [sigprocmask] "i" (@intFromEnum(linux.SYS.rt_sigprocmask)),
443431 [sigmask_offset] "i" (@offsetOf(ucontext_t, "sigmask")),
444432 [sigset_size] "i" (linux.NSIG / 8),
445 : "cc", "memory", "eax", "ecx", "edx"
446 );
433 : .{ .cc = true, .memory = true, .eax = true, .ecx = true, .edx = true });
447434}
448435
449436pub inline fn getcontext(context: *ucontext_t) usize {
......@@ -457,6 +444,5 @@ pub inline fn getcontext(context: *ucontext_t) usize {
457444 [_] "={edx}" (clobber_edx),
458445 : [_] "{edx}" (context),
459446 [getContextInternal] "X" (&getContextInternal),
460 : "cc", "memory", "ecx"
461 );
447 : .{ .cc = true, .memory = true, .ecx = true });
462448}
lib/std/os/linux/x86_64.zig+11-22
......@@ -20,8 +20,7 @@ pub fn syscall0(number: SYS) usize {
2020 return asm volatile ("syscall"
2121 : [ret] "={rax}" (-> usize),
2222 : [number] "{rax}" (@intFromEnum(number)),
23 : "rcx", "r11", "memory"
24 );
23 : .{ .rcx = true, .r11 = true, .memory = true });
2524}
2625
2726pub fn syscall1(number: SYS, arg1: usize) usize {
......@@ -29,8 +28,7 @@ pub fn syscall1(number: SYS, arg1: usize) usize {
2928 : [ret] "={rax}" (-> usize),
3029 : [number] "{rax}" (@intFromEnum(number)),
3130 [arg1] "{rdi}" (arg1),
32 : "rcx", "r11", "memory"
33 );
31 : .{ .rcx = true, .r11 = true, .memory = true });
3432}
3533
3634pub fn syscall2(number: SYS, arg1: usize, arg2: usize) usize {
......@@ -39,8 +37,7 @@ pub fn syscall2(number: SYS, arg1: usize, arg2: usize) usize {
3937 : [number] "{rax}" (@intFromEnum(number)),
4038 [arg1] "{rdi}" (arg1),
4139 [arg2] "{rsi}" (arg2),
42 : "rcx", "r11", "memory"
43 );
40 : .{ .rcx = true, .r11 = true, .memory = true });
4441}
4542
4643pub fn syscall3(number: SYS, arg1: usize, arg2: usize, arg3: usize) usize {
......@@ -50,8 +47,7 @@ pub fn syscall3(number: SYS, arg1: usize, arg2: usize, arg3: usize) usize {
5047 [arg1] "{rdi}" (arg1),
5148 [arg2] "{rsi}" (arg2),
5249 [arg3] "{rdx}" (arg3),
53 : "rcx", "r11", "memory"
54 );
50 : .{ .rcx = true, .r11 = true, .memory = true });
5551}
5652
5753pub fn syscall4(number: SYS, arg1: usize, arg2: usize, arg3: usize, arg4: usize) usize {
......@@ -62,8 +58,7 @@ pub fn syscall4(number: SYS, arg1: usize, arg2: usize, arg3: usize, arg4: usize)
6258 [arg2] "{rsi}" (arg2),
6359 [arg3] "{rdx}" (arg3),
6460 [arg4] "{r10}" (arg4),
65 : "rcx", "r11", "memory"
66 );
61 : .{ .rcx = true, .r11 = true, .memory = true });
6762}
6863
6964pub fn syscall5(number: SYS, arg1: usize, arg2: usize, arg3: usize, arg4: usize, arg5: usize) usize {
......@@ -75,8 +70,7 @@ pub fn syscall5(number: SYS, arg1: usize, arg2: usize, arg3: usize, arg4: usize,
7570 [arg3] "{rdx}" (arg3),
7671 [arg4] "{r10}" (arg4),
7772 [arg5] "{r8}" (arg5),
78 : "rcx", "r11", "memory"
79 );
73 : .{ .rcx = true, .r11 = true, .memory = true });
8074}
8175
8276pub fn syscall6(
......@@ -97,8 +91,7 @@ pub fn syscall6(
9791 [arg4] "{r10}" (arg4),
9892 [arg5] "{r8}" (arg5),
9993 [arg6] "{r9}" (arg6),
100 : "rcx", "r11", "memory"
101 );
94 : .{ .rcx = true, .r11 = true, .memory = true });
10295}
10396
10497pub fn clone() callconv(.naked) usize {
......@@ -144,14 +137,12 @@ pub fn restore_rt() callconv(.naked) noreturn {
144137 \\ syscall
145138 :
146139 : [number] "i" (@intFromEnum(SYS.rt_sigreturn)),
147 : "rcx", "r11", "memory"
148 ),
140 : .{ .rcx = true, .r11 = true, .memory = true }),
149141 else => asm volatile (
150142 \\ syscall
151143 :
152144 : [number] "{rax}" (@intFromEnum(SYS.rt_sigreturn)),
153 : "rcx", "r11", "memory"
154 ),
145 : .{ .rcx = true, .r11 = true, .memory = true }),
155146 }
156147}
157148
......@@ -440,8 +431,7 @@ fn getContextInternal() callconv(.naked) usize {
440431 [sigprocmask] "i" (@intFromEnum(linux.SYS.rt_sigprocmask)),
441432 [sigmask_offset] "i" (@offsetOf(ucontext_t, "sigmask")),
442433 [sigset_size] "i" (@sizeOf(sigset_t)),
443 : "cc", "memory", "rax", "rcx", "rdx", "rdi", "rsi", "r8", "r10", "r11"
444 );
434 : .{ .cc = true, .memory = true, .rax = true, .rcx = true, .rdx = true, .rdi = true, .rsi = true, .r8 = true, .r10 = true, .r11 = true });
445435}
446436
447437pub inline fn getcontext(context: *ucontext_t) usize {
......@@ -455,6 +445,5 @@ pub inline fn getcontext(context: *ucontext_t) usize {
455445 [_] "={rdi}" (clobber_rdi),
456446 : [_] "{rdi}" (context),
457447 [getContextInternal] "X" (&getContextInternal),
458 : "cc", "memory", "rcx", "rdx", "rsi", "r8", "r10", "r11"
459 );
448 : .{ .cc = true, .memory = true, .rcx = true, .rdx = true, .rsi = true, .r8 = true, .r10 = true, .r11 = true });
460449}
lib/std/os/plan9/x86_64.zig+4-8
......@@ -11,8 +11,7 @@ pub fn syscall1(sys: plan9.SYS, arg0: usize) usize {
1111 : [ret] "={rax}" (-> usize),
1212 : [arg0] "{r8}" (arg0),
1313 [syscall_number] "{rbp}" (@intFromEnum(sys)),
14 : "rcx", "rax", "rbp", "r11", "memory"
15 );
14 : .{ .rcx = true, .rax = true, .rbp = true, .r11 = true, .memory = true });
1615}
1716pub fn syscall2(sys: plan9.SYS, arg0: usize, arg1: usize) usize {
1817 return asm volatile (
......@@ -27,8 +26,7 @@ pub fn syscall2(sys: plan9.SYS, arg0: usize, arg1: usize) usize {
2726 : [arg0] "{r8}" (arg0),
2827 [arg1] "{r9}" (arg1),
2928 [syscall_number] "{rbp}" (@intFromEnum(sys)),
30 : "rcx", "rax", "rbp", "r11", "memory"
31 );
29 : .{ .rcx = true, .rax = true, .rbp = true, .r11 = true, .memory = true });
3230}
3331pub fn syscall3(sys: plan9.SYS, arg0: usize, arg1: usize, arg2: usize) usize {
3432 return asm volatile (
......@@ -46,8 +44,7 @@ pub fn syscall3(sys: plan9.SYS, arg0: usize, arg1: usize, arg2: usize) usize {
4644 [arg1] "{r9}" (arg1),
4745 [arg2] "{r10}" (arg2),
4846 [syscall_number] "{rbp}" (@intFromEnum(sys)),
49 : "rcx", "rax", "rbp", "r11", "memory"
50 );
47 : .{ .rcx = true, .rax = true, .rbp = true, .r11 = true, .memory = true });
5148}
5249pub fn syscall4(sys: plan9.SYS, arg0: usize, arg1: usize, arg2: usize, arg3: usize) usize {
5350 return asm volatile (
......@@ -68,6 +65,5 @@ pub fn syscall4(sys: plan9.SYS, arg0: usize, arg1: usize, arg2: usize, arg3: usi
6865 [arg2] "{r10}" (arg2),
6966 [arg3] "{r11}" (arg3),
7067 [syscall_number] "{rbp}" (@intFromEnum(sys)),
71 : "rcx", "rax", "rbp", "r11", "memory"
72 );
68 : .{ .rcx = true, .rax = true, .rbp = true, .r11 = true, .memory = true });
7369}
lib/std/pie.zig+5-10
......@@ -100,8 +100,7 @@ inline fn getDynamicSymbol() [*]const elf.Dyn {
100100 \\ %[ret] = add(r1, %[ret])
101101 : [ret] "=r" (-> [*]const elf.Dyn),
102102 :
103 : "r1"
104 ),
103 : .{ .r1 = true }),
105104 .loongarch32, .loongarch64 => asm volatile (
106105 \\ .weak _DYNAMIC
107106 \\ .hidden _DYNAMIC
......@@ -127,8 +126,7 @@ inline fn getDynamicSymbol() [*]const elf.Dyn {
127126 \\ addu %[ret], %[ret], $gp
128127 : [ret] "=r" (-> [*]const elf.Dyn),
129128 :
130 : "lr"
131 ),
129 : .{ .lr = true }),
132130 .mips64, .mips64el => asm volatile (
133131 \\ .weak _DYNAMIC
134132 \\ .hidden _DYNAMIC
......@@ -140,8 +138,7 @@ inline fn getDynamicSymbol() [*]const elf.Dyn {
140138 \\ daddu %[ret], %[ret], $gp
141139 : [ret] "=r" (-> [*]const elf.Dyn),
142140 :
143 : "lr"
144 ),
141 : .{ .lr = true }),
145142 .powerpc, .powerpcle => asm volatile (
146143 \\ .weak _DYNAMIC
147144 \\ .hidden _DYNAMIC
......@@ -153,8 +150,7 @@ inline fn getDynamicSymbol() [*]const elf.Dyn {
153150 \\ add %[ret], 4, %[ret]
154151 : [ret] "=r" (-> [*]const elf.Dyn),
155152 :
156 : "lr", "r4"
157 ),
153 : .{ .lr = true, .r4 = true }),
158154 .powerpc64, .powerpc64le => asm volatile (
159155 \\ .weak _DYNAMIC
160156 \\ .hidden _DYNAMIC
......@@ -166,8 +162,7 @@ inline fn getDynamicSymbol() [*]const elf.Dyn {
166162 \\ add %[ret], 4, %[ret]
167163 : [ret] "=r" (-> [*]const elf.Dyn),
168164 :
169 : "lr", "r4"
170 ),
165 : .{ .lr = true, .r4 = true }),
171166 .riscv32, .riscv64 => asm volatile (
172167 \\ .weak _DYNAMIC
173168 \\ .hidden _DYNAMIC
lib/std/start.zig+4-8
......@@ -131,32 +131,28 @@ fn exit2(code: usize) noreturn {
131131 :
132132 : [number] "{rax}" (231),
133133 [arg1] "{rdi}" (code),
134 : "rcx", "r11", "memory"
135 );
134 : .{ .rcx = true, .r11 = true, .memory = true });
136135 },
137136 .arm => {
138137 asm volatile ("svc #0"
139138 :
140139 : [number] "{r7}" (1),
141140 [arg1] "{r0}" (code),
142 : "memory"
143 );
141 : .{ .memory = true });
144142 },
145143 .aarch64 => {
146144 asm volatile ("svc #0"
147145 :
148146 : [number] "{x8}" (93),
149147 [arg1] "{x0}" (code),
150 : "memory", "cc"
151 );
148 : .{ .memory = true, .cc = true });
152149 },
153150 .sparc64 => {
154151 asm volatile ("ta 0x6d"
155152 :
156153 : [number] "{g1}" (1),
157154 [arg1] "{o0}" (code),
158 : "o0", "o1", "o2", "o3", "o4", "o5", "o6", "o7", "memory"
159 );
155 : .{ .o0 = true, .o1 = true, .o2 = true, .o3 = true, .o4 = true, .o5 = true, .o6 = true, .o7 = true, .memory = true });
160156 },
161157 else => @compileError("TODO"),
162158 },
lib/std/valgrind.zig+10-20
......@@ -17,8 +17,7 @@ pub fn doClientRequest(default: usize, request: usize, a1: usize, a2: usize, a3:
1717 : [_] "={r3}" (-> usize),
1818 : [_] "{r4}" (args),
1919 [_] "{r3}" (default),
20 : "cc", "memory"
21 ),
20 : .{ .cc = true, .memory = true }),
2221 .aarch64, .aarch64_be => asm volatile (
2322 \\ ror x12, x12, #3 ; ror x12, x12, #13
2423 \\ ror x12, x12, #51 ; ror x12, x12, #61
......@@ -26,8 +25,7 @@ pub fn doClientRequest(default: usize, request: usize, a1: usize, a2: usize, a3:
2625 : [_] "={x3}" (-> usize),
2726 : [_] "{x4}" (args),
2827 [_] "{x3}" (default),
29 : "cc", "memory"
30 ),
28 : .{ .cc = true, .memory = true }),
3129 .mips, .mipsel => asm volatile (
3230 \\ srl $0, $0, 13
3331 \\ srl $0, $0, 29
......@@ -37,8 +35,7 @@ pub fn doClientRequest(default: usize, request: usize, a1: usize, a2: usize, a3:
3735 : [_] "={$11}" (-> usize),
3836 : [_] "{$12}" (args),
3937 [_] "{$11}" (default),
40 : "memory"
41 ),
38 : .{ .memory = true }),
4239 .mips64, .mips64el => asm volatile (
4340 \\ dsll $0, $0, 3 ; dsll $0, $0, 13
4441 \\ dsll $0, $0, 29 ; dsll $0, $0, 19
......@@ -46,8 +43,7 @@ pub fn doClientRequest(default: usize, request: usize, a1: usize, a2: usize, a3:
4643 : [_] "={$11}" (-> usize),
4744 : [_] "{$12}" (args),
4845 [_] "{$11}" (default),
49 : "memory"
50 ),
46 : .{ .memory = true }),
5147 .powerpc, .powerpcle => asm volatile (
5248 \\ rlwinm 0, 0, 3, 0, 31 ; rlwinm 0, 0, 13, 0, 31
5349 \\ rlwinm 0, 0, 29, 0, 31 ; rlwinm 0, 0, 19, 0, 31
......@@ -55,8 +51,7 @@ pub fn doClientRequest(default: usize, request: usize, a1: usize, a2: usize, a3:
5551 : [_] "={r3}" (-> usize),
5652 : [_] "{r4}" (args),
5753 [_] "{r3}" (default),
58 : "cc", "memory"
59 ),
54 : .{ .cc = true, .memory = true }),
6055 .powerpc64, .powerpc64le => asm volatile (
6156 \\ rotldi 0, 0, 3 ; rotldi 0, 0, 13
6257 \\ rotldi 0, 0, 61 ; rotldi 0, 0, 51
......@@ -64,8 +59,7 @@ pub fn doClientRequest(default: usize, request: usize, a1: usize, a2: usize, a3:
6459 : [_] "={r3}" (-> usize),
6560 : [_] "{r4}" (args),
6661 [_] "{r3}" (default),
67 : "cc", "memory"
68 ),
62 : .{ .cc = true, .memory = true }),
6963 .riscv64 => asm volatile (
7064 \\ .option push
7165 \\ .option norvc
......@@ -78,8 +72,7 @@ pub fn doClientRequest(default: usize, request: usize, a1: usize, a2: usize, a3:
7872 : [_] "={a3}" (-> usize),
7973 : [_] "{a4}" (args),
8074 [_] "{a3}" (default),
81 : "cc", "memory"
82 ),
75 : .{ .cc = true, .memory = true }),
8376 .s390x => asm volatile (
8477 \\ lr %%r15, %%r15
8578 \\ lr %%r1, %%r1
......@@ -89,8 +82,7 @@ pub fn doClientRequest(default: usize, request: usize, a1: usize, a2: usize, a3:
8982 : [_] "={r3}" (-> usize),
9083 : [_] "{r2}" (args),
9184 [_] "{r3}" (default),
92 : "cc", "memory"
93 ),
85 : .{ .cc = true, .memory = true }),
9486 .x86 => asm volatile (
9587 \\ roll $3, %%edi ; roll $13, %%edi
9688 \\ roll $29, %%edi ; roll $19, %%edi
......@@ -98,8 +90,7 @@ pub fn doClientRequest(default: usize, request: usize, a1: usize, a2: usize, a3:
9890 : [_] "={edx}" (-> usize),
9991 : [_] "{eax}" (args),
10092 [_] "{edx}" (default),
101 : "cc", "memory"
102 ),
93 : .{ .cc = true, .memory = true }),
10394 .x86_64 => asm volatile (
10495 \\ rolq $3, %%rdi ; rolq $13, %%rdi
10596 \\ rolq $61, %%rdi ; rolq $51, %%rdi
......@@ -107,8 +98,7 @@ pub fn doClientRequest(default: usize, request: usize, a1: usize, a2: usize, a3:
10798 : [_] "={rdx}" (-> usize),
10899 : [_] "{rax}" (args),
109100 [_] "{rdx}" (default),
110 : "cc", "memory"
111 ),
101 : .{ .cc = true, .memory = true }),
112102 else => default,
113103 };
114104}
lib/std/zig/render.zig+4-2
......@@ -2400,6 +2400,7 @@ fn renderAsmLegacy(
24002400 while (true) : (tok_i += 1) {
24012401 try ais.writer().writeAll(".@");
24022402 try ais.writer().writeAll(tokenSliceForRender(tree, tok_i));
2403 try ais.writer().writeAll(" = true");
24032404
24042405 tok_i += 1;
24052406 switch (tree.tokenTag(tok_i)) {
......@@ -2514,7 +2515,7 @@ fn renderAsmLegacy(
25142515 try ais.writer().writeAll(".@");
25152516 const lexeme = tokenSliceForRender(tree, tok_i);
25162517 try ais.writer().writeAll(lexeme);
2517 try ais.writer().writeAll(" }");
2518 try ais.writer().writeAll(" = true }");
25182519 try renderSpace(r, tok_i, lexeme.len, .newline);
25192520 ais.popIndent();
25202521 return renderToken(r, tok_i + 1, space);
......@@ -2526,7 +2527,7 @@ fn renderAsmLegacy(
25262527 try ais.writer().writeAll(".@");
25272528 const lexeme = tokenSliceForRender(tree, tok_i);
25282529 try ais.writer().writeAll(lexeme);
2529 try ais.writer().writeAll(" }");
2530 try ais.writer().writeAll(" = true }");
25302531 try renderSpace(r, tok_i, lexeme.len, .newline);
25312532 ais.popIndent();
25322533 return renderToken(r, tok_i + 2, space);
......@@ -2534,6 +2535,7 @@ fn renderAsmLegacy(
25342535 else => {
25352536 try ais.writer().writeAll(".@");
25362537 try ais.writer().writeAll(tokenSliceForRender(tree, tok_i));
2538 try ais.writer().writeAll(" = true");
25372539 try renderToken(r, tok_i + 1, .space);
25382540 tok_i += 2;
25392541 },
lib/std/zig/system/x86.zig+1-2
......@@ -783,6 +783,5 @@ fn getXCR0() u32 {
783783 \\ xgetbv
784784 : [_] "={eax}" (-> u32),
785785 :
786 : "edx", "ecx"
787 );
786 : .{ .edx = true, .ecx = true });
788787}
test/behavior/asm.zig+3-15
......@@ -55,13 +55,11 @@ test "output constraint modifiers" {
5555 asm volatile (""
5656 : [_] "=m,r" (a),
5757 :
58 : ""
59 );
58 : .{});
6059 asm volatile (""
6160 : [_] "=r,m" (a),
6261 :
63 : ""
64 );
62 : .{});
6563}
6664
6765test "alternative constraints" {
......@@ -79,7 +77,6 @@ test "alternative constraints" {
7977 asm volatile (""
8078 : [_] "=r,m" (a),
8179 : [_] "r,m" (a),
82 : ""
8380 );
8481}
8582
......@@ -96,42 +93,34 @@ test "sized integer/float in asm input" {
9693 asm volatile (""
9794 :
9895 : [_] "m" (@as(usize, 3)),
99 : ""
10096 );
10197 asm volatile (""
10298 :
10399 : [_] "m" (@as(i15, -3)),
104 : ""
105100 );
106101 asm volatile (""
107102 :
108103 : [_] "m" (@as(u3, 3)),
109 : ""
110104 );
111105 asm volatile (""
112106 :
113107 : [_] "m" (@as(i3, 3)),
114 : ""
115108 );
116109 asm volatile (""
117110 :
118111 : [_] "m" (@as(u121, 3)),
119 : ""
120112 );
121113 asm volatile (""
122114 :
123115 : [_] "m" (@as(i121, 3)),
124 : ""
125116 );
126117 asm volatile (""
127118 :
128119 : [_] "m" (@as(f32, 3.17)),
129 : ""
130120 );
131121 asm volatile (""
132122 :
133123 : [_] "m" (@as(f64, 3.17)),
134 : ""
135124 );
136125}
137126
......@@ -172,8 +161,7 @@ test "rw constraint (x86_64)" {
172161 asm ("addl %[b], %[a]"
173162 : [a] "+r" (res),
174163 : [b] "r" (@as(i32, 13)),
175 : "flags"
176 );
164 : .{ .flags = true });
177165 try expectEqual(@as(i32, 18), res);
178166}
179167
test/cases/llvm/f_segment_address_space_reading_and_writing.zig+2-2
......@@ -9,7 +9,7 @@ fn setFs(value: c_ulong) void {
99 : [number] "{rax}" (158),
1010 [code] "{rdi}" (0x1002),
1111 [val] "{rsi}" (value),
12 : "rcx", "r11", "memory"
12 : .{ .rcx = true, .r11 = true, .memory = true }
1313 );
1414}
1515
......@@ -21,7 +21,7 @@ fn getFs() c_ulong {
2121 : [number] "{rax}" (158),
2222 [code] "{rdi}" (0x1003),
2323 [ptr] "{rsi}" (@intFromPtr(&result)),
24 : "rcx", "r11", "memory"
24 : .{ .rcx = true, .r11 = true, .memory = true }
2525 );
2626 return result;
2727}
test/standalone/stack_iterator/unwind.zig+4-4
......@@ -31,7 +31,7 @@ noinline fn frame2(expected: *[4]usize, unwound: *[4]usize) void {
3131 \\movl $7, %%edi
3232 \\movl $6, %%esi
3333 \\movl $5, %%ebp
34 ::: "ebx", "ecx", "edx", "edi", "esi", "ebp");
34 ::: .{ .ebx = true, .ecx = true, .edx = true, .edi = true, .esi = true, .ebp = true });
3535 } else {
3636 asm volatile (
3737 \\movl $3, %%ebx
......@@ -39,7 +39,7 @@ noinline fn frame2(expected: *[4]usize, unwound: *[4]usize) void {
3939 \\movl $2, %%edx
4040 \\movl $7, %%edi
4141 \\movl $6, %%esi
42 ::: "ebx", "ecx", "edx", "edi", "esi");
42 ::: .{ .ebx = true, .ecx = true, .edx = true, .edi = true, .esi = true });
4343 }
4444 },
4545 .x86_64 => {
......@@ -51,7 +51,7 @@ noinline fn frame2(expected: *[4]usize, unwound: *[4]usize) void {
5151 \\movq $14, %%r14
5252 \\movq $15, %%r15
5353 \\movq $6, %%rbp
54 ::: "rbx", "r12", "r13", "r14", "r15", "rbp");
54 ::: .{ .rbx = true, .r12 = true, .r13 = true, .r14 = true, .r15 = true, .rbp = true });
5555 } else {
5656 asm volatile (
5757 \\movq $3, %%rbx
......@@ -59,7 +59,7 @@ noinline fn frame2(expected: *[4]usize, unwound: *[4]usize) void {
5959 \\movq $13, %%r13
6060 \\movq $14, %%r14
6161 \\movq $15, %%r15
62 ::: "rbx", "r12", "r13", "r14", "r15");
62 ::: .{ .rbx = true, .r12 = true, .r13 = true, .r14 = true, .r15 = true });
6363 }
6464 },
6565 else => {},
test/standalone/stack_iterator/unwind_freestanding.zig+1-2
......@@ -58,8 +58,7 @@ export fn _start() callconv(.c) noreturn {
5858 \\syscall
5959 :
6060 : [missed] "{edi}" (missed),
61 : "edi", "eax"
62 );
61 : .{ .edi = true, .eax = true });
6362
6463 while (true) {} // unreached
6564}