]> git.proxmox.com Git - rustc.git/blame - vendor/rustix-0.36.5/src/backend/linux_raw/arch/outline/mips64.s
Merge 1.70 into proxmox/bookworm
[rustc.git] / vendor / rustix-0.36.5 / src / backend / linux_raw / arch / outline / mips64.s
CommitLineData
353b0b11
FG
1# Assembly code for making mips64 syscalls.
2#
3# mips64 syscall argument register ordering is the same as the mips64
4# userspace argument register ordering except that the syscall number
5# (nr) is passed in v0.
6#
7# outline.rs takes care of reordering the nr argument to the end for us,
8# so we only need to move nr into v0.
9
10 .file "mips.s"
11 .section .mdebug.abi64
12 .previous
13 .abicalls
14
15 .section .text.rustix_syscall0_nr_last,"ax",@progbits
16 .p2align 2
17 .weak rustix_syscall0_nr_last
18 .hidden rustix_syscall0_nr_last
19 .type rustix_syscall0_nr_last, @function
20 .set nomips16
21 .set nomicromips
22 .ent rustix_syscall0_nr_last
23rustix_syscall0_nr_last:
24 .frame $sp,0,$31
25 .mask 0x00000000,0
26 .fmask 0x00000000,0
27 .set noreorder
28 .set nomacro
29 move $2, $4
30 syscall
31 dnegu $12, $2
32 jr $31
33 movn $2, $12, $7
34 .end rustix_syscall0_nr_last
35 .size rustix_syscall0_nr_last, .-rustix_syscall0_nr_last
36
37 .section .text.rustix_syscall1_nr_last,"ax",@progbits
38 .p2align 2
39 .weak rustix_syscall1_nr_last
40 .hidden rustix_syscall1_nr_last
41 .type rustix_syscall1_nr_last, @function
42 .set nomips16
43 .set nomicromips
44 .ent rustix_syscall1_nr_last
45rustix_syscall1_nr_last:
46 .frame $sp,0,$31
47 .mask 0x00000000,0
48 .fmask 0x00000000,0
49 .set noreorder
50 .set nomacro
51 move $2, $5
52 syscall
53 dnegu $12, $2
54 jr $31
55 movn $2, $12, $7
56 .end rustix_syscall1_nr_last
57 .size rustix_syscall1_nr_last, .-rustix_syscall1_nr_last
58
59 .section .text.rustix_syscall1_noreturn_nr_last,"ax",@progbits
60 .p2align 2
61 .weak rustix_syscall1_noreturn_nr_last
62 .hidden rustix_syscall1_noreturn_nr_last
63 .type rustix_syscall1_noreturn_nr_last, @function
64 .set nomips16
65 .set nomicromips
66 .ent rustix_syscall1_noreturn_nr_last
67rustix_syscall1_noreturn_nr_last:
68 .frame $sp,0,$31
69 .mask 0x00000000,0
70 .fmask 0x00000000,0
71 .set noreorder
72 .set nomacro
73 move $2, $5
74 syscall
75 teq $0, $0
76 .end rustix_syscall1_noreturn_nr_last
77 .size rustix_syscall1_noreturn_nr_last, .-rustix_syscall1_noreturn_nr_last
78
79 .section .text.rustix_syscall2_nr_last,"ax",@progbits
80 .p2align 2
81 .weak rustix_syscall2_nr_last
82 .hidden rustix_syscall2_nr_last
83 .type rustix_syscall2_nr_last, @function
84 .set nomips16
85 .set nomicromips
86 .ent rustix_syscall2_nr_last
87rustix_syscall2_nr_last:
88 .frame $sp,0,$31
89 .mask 0x00000000,0
90 .fmask 0x00000000,0
91 .set noreorder
92 .set nomacro
93 move $2, $6
94 syscall
95 dnegu $12, $2
96 jr $31
97 movn $2, $12, $7
98 .end rustix_syscall2_nr_last
99 .size rustix_syscall2_nr_last, .-rustix_syscall2_nr_last
100
101 .section .text.rustix_syscall3_nr_last,"ax",@progbits
102 .p2align 2
103 .weak rustix_syscall3_nr_last
104 .hidden rustix_syscall3_nr_last
105 .type rustix_syscall3_nr_last, @function
106 .set nomips16
107 .set nomicromips
108 .ent rustix_syscall3_nr_last
109rustix_syscall3_nr_last:
110 .frame $sp,0,$31
111 .mask 0x00000000,0
112 .fmask 0x00000000,0
113 .set noreorder
114 .set nomacro
115 move $2, $7
116 syscall
117 dnegu $12, $2
118 jr $31
119 movn $2, $12, $7
120 .end rustix_syscall3_nr_last
121 .size rustix_syscall3_nr_last, .-rustix_syscall3_nr_last
122
123 .section .text.rustix_syscall4_nr_last,"ax",@progbits
124 .p2align 2
125 .weak rustix_syscall4_nr_last
126 .hidden rustix_syscall4_nr_last
127 .type rustix_syscall4_nr_last, @function
128 .set nomips16
129 .set nomicromips
130 .ent rustix_syscall4_nr_last
131rustix_syscall4_nr_last:
132 .frame $sp,0,$31
133 .mask 0x00000000,0
134 .fmask 0x00000000,0
135 .set noreorder
136 .set nomacro
137 move $2, $8
138 syscall
139 dnegu $12, $2
140 jr $31
141 movn $2, $12, $7
142 .end rustix_syscall4_nr_last
143 .size rustix_syscall4_nr_last, .-rustix_syscall4_nr_last
144
145 .section .text.rustix_syscall5_nr_last,"ax",@progbits
146 .p2align 2
147 .weak rustix_syscall5_nr_last
148 .hidden rustix_syscall5_nr_last
149 .type rustix_syscall5_nr_last, @function
150 .set nomips16
151 .set nomicromips
152 .ent rustix_syscall5_nr_last
153rustix_syscall5_nr_last:
154 .frame $sp,0,$31
155 .mask 0x00000000,0
156 .fmask 0x00000000,0
157 .set noreorder
158 .set nomacro
159 move $2, $9
160 syscall
161 dnegu $12, $2
162 jr $31
163 movn $2, $12, $7
164 .end rustix_syscall5_nr_last
165 .size rustix_syscall5_nr_last, .-rustix_syscall5_nr_last
166
167 .section .text.rustix_syscall6_nr_last,"ax",@progbits
168 .p2align 2
169 .weak rustix_syscall6_nr_last
170 .hidden rustix_syscall6_nr_last
171 .type rustix_syscall6_nr_last, @function
172 .set nomips16
173 .set nomicromips
174 .ent rustix_syscall6_nr_last
175rustix_syscall6_nr_last:
176 .frame $sp,0,$31
177 .mask 0x00000000,0
178 .fmask 0x00000000,0
179 .set noreorder
180 .set nomacro
181 move $2, $10
182 syscall
183 dnegu $12, $2
184 jr $31
185 movn $2, $12, $7
186 .end rustix_syscall6_nr_last
187 .size rustix_syscall6_nr_last, .-rustix_syscall6_nr_last
188
189 .section .note.GNU-stack,"",@progbits