1*5c2921b0SApple OSS Distributions /*
2*5c2921b0SApple OSS Distributions * Coyright (c) 2005-2006 Apple Computer, Inc. All rights reserved.
3*5c2921b0SApple OSS Distributions *
4*5c2921b0SApple OSS Distributions * @APPLE_OSREFERENCE_LICENSE_HEADER_START@
5*5c2921b0SApple OSS Distributions *
6*5c2921b0SApple OSS Distributions * This file contains Original Code and/or Modifications of Original Code
7*5c2921b0SApple OSS Distributions * as defined in and that are subject to the Apple Public Source License
8*5c2921b0SApple OSS Distributions * Version 2.0 (the 'License'). You may not use this file except in
9*5c2921b0SApple OSS Distributions * compliance with the License. The rights granted to you under the License
10*5c2921b0SApple OSS Distributions * may not be used to create, or enable the creation or redistribution of,
11*5c2921b0SApple OSS Distributions * unlawful or unlicensed copies of an Apple operating system, or to
12*5c2921b0SApple OSS Distributions * circumvent, violate, or enable the circumvention or violation of, any
13*5c2921b0SApple OSS Distributions * terms of an Apple operating system software license agreement.
14*5c2921b0SApple OSS Distributions *
15*5c2921b0SApple OSS Distributions * Please obtain a copy of the License at
16*5c2921b0SApple OSS Distributions * http://www.opensource.apple.com/apsl/ and read it before using this file.
17*5c2921b0SApple OSS Distributions *
18*5c2921b0SApple OSS Distributions * The Original Code and all software distributed under the License are
19*5c2921b0SApple OSS Distributions * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
20*5c2921b0SApple OSS Distributions * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
21*5c2921b0SApple OSS Distributions * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
22*5c2921b0SApple OSS Distributions * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
23*5c2921b0SApple OSS Distributions * Please see the License for the specific language governing rights and
24*5c2921b0SApple OSS Distributions * limitations under the License.
25*5c2921b0SApple OSS Distributions *
26*5c2921b0SApple OSS Distributions * @APPLE_OSREFERENCE_LICENSE_HEADER_END@
27*5c2921b0SApple OSS Distributions */
28*5c2921b0SApple OSS Distributions
29*5c2921b0SApple OSS Distributions #include <sys/cdefs.h>
30*5c2921b0SApple OSS Distributions #include <sys/types.h>
31*5c2921b0SApple OSS Distributions #include <sys/munge.h>
32*5c2921b0SApple OSS Distributions #include <stdint.h>
33*5c2921b0SApple OSS Distributions
34*5c2921b0SApple OSS Distributions /*
35*5c2921b0SApple OSS Distributions * Refer to comments in bsd/sys/munge.h
36*5c2921b0SApple OSS Distributions */
37*5c2921b0SApple OSS Distributions
38*5c2921b0SApple OSS Distributions static inline __attribute__((always_inline)) void
39*5c2921b0SApple OSS Distributions munge_32_to_64_unsigned(volatile uint64_t *dest, volatile uint32_t *src, int count);
40*5c2921b0SApple OSS Distributions
41*5c2921b0SApple OSS Distributions void
munge_w(void * args)42*5c2921b0SApple OSS Distributions munge_w(void *args)
43*5c2921b0SApple OSS Distributions {
44*5c2921b0SApple OSS Distributions munge_32_to_64_unsigned(args, args, 1);
45*5c2921b0SApple OSS Distributions }
46*5c2921b0SApple OSS Distributions
47*5c2921b0SApple OSS Distributions void
munge_ww(void * args)48*5c2921b0SApple OSS Distributions munge_ww(void *args)
49*5c2921b0SApple OSS Distributions {
50*5c2921b0SApple OSS Distributions munge_32_to_64_unsigned(args, args, 2);
51*5c2921b0SApple OSS Distributions }
52*5c2921b0SApple OSS Distributions
53*5c2921b0SApple OSS Distributions void
munge_www(void * args)54*5c2921b0SApple OSS Distributions munge_www(void *args)
55*5c2921b0SApple OSS Distributions {
56*5c2921b0SApple OSS Distributions munge_32_to_64_unsigned(args, args, 3);
57*5c2921b0SApple OSS Distributions }
58*5c2921b0SApple OSS Distributions
59*5c2921b0SApple OSS Distributions void
munge_wwww(void * args)60*5c2921b0SApple OSS Distributions munge_wwww(void *args)
61*5c2921b0SApple OSS Distributions {
62*5c2921b0SApple OSS Distributions munge_32_to_64_unsigned(args, args, 4);
63*5c2921b0SApple OSS Distributions }
64*5c2921b0SApple OSS Distributions
65*5c2921b0SApple OSS Distributions void
munge_wwwww(void * args)66*5c2921b0SApple OSS Distributions munge_wwwww(void *args)
67*5c2921b0SApple OSS Distributions {
68*5c2921b0SApple OSS Distributions munge_32_to_64_unsigned(args, args, 5);
69*5c2921b0SApple OSS Distributions }
70*5c2921b0SApple OSS Distributions
71*5c2921b0SApple OSS Distributions void
munge_wwwwww(void * args)72*5c2921b0SApple OSS Distributions munge_wwwwww(void *args)
73*5c2921b0SApple OSS Distributions {
74*5c2921b0SApple OSS Distributions munge_32_to_64_unsigned(args, args, 6);
75*5c2921b0SApple OSS Distributions }
76*5c2921b0SApple OSS Distributions
77*5c2921b0SApple OSS Distributions void
munge_wwwwwww(void * args)78*5c2921b0SApple OSS Distributions munge_wwwwwww(void *args)
79*5c2921b0SApple OSS Distributions {
80*5c2921b0SApple OSS Distributions munge_32_to_64_unsigned(args, args, 7);
81*5c2921b0SApple OSS Distributions }
82*5c2921b0SApple OSS Distributions
83*5c2921b0SApple OSS Distributions void
munge_wwwwwwww(void * args)84*5c2921b0SApple OSS Distributions munge_wwwwwwww(void *args)
85*5c2921b0SApple OSS Distributions {
86*5c2921b0SApple OSS Distributions munge_32_to_64_unsigned(args, args, 8);
87*5c2921b0SApple OSS Distributions }
88*5c2921b0SApple OSS Distributions
89*5c2921b0SApple OSS Distributions void
munge_wl(void * args)90*5c2921b0SApple OSS Distributions munge_wl(void *args)
91*5c2921b0SApple OSS Distributions {
92*5c2921b0SApple OSS Distributions volatile uint64_t *out_args = (volatile uint64_t*)args;
93*5c2921b0SApple OSS Distributions volatile uint32_t *in_args = (volatile uint32_t*)args;
94*5c2921b0SApple OSS Distributions
95*5c2921b0SApple OSS Distributions out_args[1] = *(volatile uint64_t*)&in_args[1];
96*5c2921b0SApple OSS Distributions out_args[0] = in_args[0];
97*5c2921b0SApple OSS Distributions }
98*5c2921b0SApple OSS Distributions
99*5c2921b0SApple OSS Distributions void
munge_wwl(void * args)100*5c2921b0SApple OSS Distributions munge_wwl(void *args)
101*5c2921b0SApple OSS Distributions {
102*5c2921b0SApple OSS Distributions volatile uint64_t *out_args = (volatile uint64_t*)args;
103*5c2921b0SApple OSS Distributions volatile uint32_t *in_args = (volatile uint32_t*)args;
104*5c2921b0SApple OSS Distributions
105*5c2921b0SApple OSS Distributions out_args[2] = *(volatile uint64_t*)&in_args[2];
106*5c2921b0SApple OSS Distributions out_args[1] = in_args[1];
107*5c2921b0SApple OSS Distributions out_args[0] = in_args[0];
108*5c2921b0SApple OSS Distributions }
109*5c2921b0SApple OSS Distributions
110*5c2921b0SApple OSS Distributions void
munge_wwlw(void * args)111*5c2921b0SApple OSS Distributions munge_wwlw(void *args)
112*5c2921b0SApple OSS Distributions {
113*5c2921b0SApple OSS Distributions volatile uint64_t *out_args = (volatile uint64_t*)args;
114*5c2921b0SApple OSS Distributions volatile uint32_t *in_args = (volatile uint32_t*)args;
115*5c2921b0SApple OSS Distributions
116*5c2921b0SApple OSS Distributions out_args[3] = in_args[4];
117*5c2921b0SApple OSS Distributions out_args[2] = *(volatile uint64_t*)&in_args[2];
118*5c2921b0SApple OSS Distributions out_args[1] = in_args[1];
119*5c2921b0SApple OSS Distributions out_args[0] = in_args[0];
120*5c2921b0SApple OSS Distributions }
121*5c2921b0SApple OSS Distributions void
munge_wwlll(void * args)122*5c2921b0SApple OSS Distributions munge_wwlll(void *args)
123*5c2921b0SApple OSS Distributions {
124*5c2921b0SApple OSS Distributions volatile uint64_t *out_args = (volatile uint64_t*)args;
125*5c2921b0SApple OSS Distributions volatile uint32_t *in_args = (volatile uint32_t*)args;
126*5c2921b0SApple OSS Distributions
127*5c2921b0SApple OSS Distributions out_args[4] = *(volatile uint64_t*)&in_args[6];
128*5c2921b0SApple OSS Distributions out_args[3] = *(volatile uint64_t*)&in_args[4];
129*5c2921b0SApple OSS Distributions out_args[2] = *(volatile uint64_t*)&in_args[2];
130*5c2921b0SApple OSS Distributions out_args[1] = in_args[1];
131*5c2921b0SApple OSS Distributions out_args[0] = in_args[0];
132*5c2921b0SApple OSS Distributions }
133*5c2921b0SApple OSS Distributions
134*5c2921b0SApple OSS Distributions void
munge_wwllww(void * args)135*5c2921b0SApple OSS Distributions munge_wwllww(void *args)
136*5c2921b0SApple OSS Distributions {
137*5c2921b0SApple OSS Distributions volatile uint64_t *out_args = (volatile uint64_t*)args;
138*5c2921b0SApple OSS Distributions volatile uint32_t *in_args = (volatile uint32_t*)args;
139*5c2921b0SApple OSS Distributions
140*5c2921b0SApple OSS Distributions out_args[5] = in_args[7];
141*5c2921b0SApple OSS Distributions out_args[4] = in_args[6];
142*5c2921b0SApple OSS Distributions out_args[3] = *(volatile uint64_t*)&in_args[4];
143*5c2921b0SApple OSS Distributions out_args[2] = *(volatile uint64_t*)&in_args[2];
144*5c2921b0SApple OSS Distributions out_args[1] = in_args[1];
145*5c2921b0SApple OSS Distributions out_args[0] = in_args[0];
146*5c2921b0SApple OSS Distributions }
147*5c2921b0SApple OSS Distributions
148*5c2921b0SApple OSS Distributions void
munge_wlw(void * args)149*5c2921b0SApple OSS Distributions munge_wlw(void *args)
150*5c2921b0SApple OSS Distributions {
151*5c2921b0SApple OSS Distributions volatile uint64_t *out_args = (volatile uint64_t*)args;
152*5c2921b0SApple OSS Distributions volatile uint32_t *in_args = (volatile uint32_t*)args;
153*5c2921b0SApple OSS Distributions
154*5c2921b0SApple OSS Distributions out_args[2] = in_args[3];
155*5c2921b0SApple OSS Distributions out_args[1] = *(volatile uint64_t*)&in_args[1];
156*5c2921b0SApple OSS Distributions out_args[0] = in_args[0];
157*5c2921b0SApple OSS Distributions }
158*5c2921b0SApple OSS Distributions
159*5c2921b0SApple OSS Distributions void
munge_wlww(void * args)160*5c2921b0SApple OSS Distributions munge_wlww(void *args)
161*5c2921b0SApple OSS Distributions {
162*5c2921b0SApple OSS Distributions volatile uint64_t *out_args = (volatile uint64_t*)args;
163*5c2921b0SApple OSS Distributions volatile uint32_t *in_args = (volatile uint32_t*)args;
164*5c2921b0SApple OSS Distributions
165*5c2921b0SApple OSS Distributions out_args[3] = in_args[4];
166*5c2921b0SApple OSS Distributions out_args[2] = in_args[3];
167*5c2921b0SApple OSS Distributions out_args[1] = *(volatile uint64_t*)&in_args[1];
168*5c2921b0SApple OSS Distributions out_args[0] = in_args[0];
169*5c2921b0SApple OSS Distributions }
170*5c2921b0SApple OSS Distributions
171*5c2921b0SApple OSS Distributions void
munge_wlwwwll(void * args)172*5c2921b0SApple OSS Distributions munge_wlwwwll(void *args)
173*5c2921b0SApple OSS Distributions {
174*5c2921b0SApple OSS Distributions volatile uint64_t *out_args = (volatile uint64_t*)args;
175*5c2921b0SApple OSS Distributions volatile uint32_t *in_args = (volatile uint32_t*)args;
176*5c2921b0SApple OSS Distributions
177*5c2921b0SApple OSS Distributions out_args[6] = *(volatile uint64_t*)&in_args[8];
178*5c2921b0SApple OSS Distributions out_args[5] = *(volatile uint64_t*)&in_args[6];
179*5c2921b0SApple OSS Distributions out_args[4] = in_args[5];
180*5c2921b0SApple OSS Distributions out_args[3] = in_args[4];
181*5c2921b0SApple OSS Distributions out_args[2] = in_args[3];
182*5c2921b0SApple OSS Distributions out_args[1] = *(volatile uint64_t*)&in_args[1];
183*5c2921b0SApple OSS Distributions out_args[0] = in_args[0];
184*5c2921b0SApple OSS Distributions }
185*5c2921b0SApple OSS Distributions
186*5c2921b0SApple OSS Distributions void
munge_wlwwwllw(void * args)187*5c2921b0SApple OSS Distributions munge_wlwwwllw(void *args)
188*5c2921b0SApple OSS Distributions {
189*5c2921b0SApple OSS Distributions volatile uint64_t *out_args = (volatile uint64_t*)args;
190*5c2921b0SApple OSS Distributions volatile uint32_t *in_args = (volatile uint32_t*)args;
191*5c2921b0SApple OSS Distributions
192*5c2921b0SApple OSS Distributions out_args[7] = in_args[10];
193*5c2921b0SApple OSS Distributions munge_wlwwwll(args);
194*5c2921b0SApple OSS Distributions }
195*5c2921b0SApple OSS Distributions
196*5c2921b0SApple OSS Distributions void
munge_wlwwlwlw(void * args)197*5c2921b0SApple OSS Distributions munge_wlwwlwlw(void *args)
198*5c2921b0SApple OSS Distributions {
199*5c2921b0SApple OSS Distributions volatile uint64_t *out_args = (volatile uint64_t*)args;
200*5c2921b0SApple OSS Distributions volatile uint32_t *in_args = (volatile uint32_t*)args;
201*5c2921b0SApple OSS Distributions
202*5c2921b0SApple OSS Distributions out_args[7] = in_args[10];
203*5c2921b0SApple OSS Distributions out_args[6] = *(volatile uint64_t*)&in_args[8];
204*5c2921b0SApple OSS Distributions out_args[5] = in_args[7];
205*5c2921b0SApple OSS Distributions out_args[4] = *(volatile uint64_t*)&in_args[5];
206*5c2921b0SApple OSS Distributions out_args[3] = in_args[4];
207*5c2921b0SApple OSS Distributions out_args[2] = in_args[3];
208*5c2921b0SApple OSS Distributions out_args[1] = *(volatile uint64_t*)&in_args[1];
209*5c2921b0SApple OSS Distributions out_args[0] = in_args[0];
210*5c2921b0SApple OSS Distributions }
211*5c2921b0SApple OSS Distributions
212*5c2921b0SApple OSS Distributions void
munge_wll(void * args)213*5c2921b0SApple OSS Distributions munge_wll(void *args)
214*5c2921b0SApple OSS Distributions {
215*5c2921b0SApple OSS Distributions volatile uint64_t *out_args = (volatile uint64_t*)args;
216*5c2921b0SApple OSS Distributions volatile uint32_t *in_args = (volatile uint32_t*)args;
217*5c2921b0SApple OSS Distributions
218*5c2921b0SApple OSS Distributions out_args[2] = *(volatile uint64_t*)&in_args[3];
219*5c2921b0SApple OSS Distributions out_args[1] = *(volatile uint64_t*)&in_args[1];
220*5c2921b0SApple OSS Distributions out_args[0] = in_args[0];
221*5c2921b0SApple OSS Distributions }
222*5c2921b0SApple OSS Distributions
223*5c2921b0SApple OSS Distributions void
munge_wlll(void * args)224*5c2921b0SApple OSS Distributions munge_wlll(void *args)
225*5c2921b0SApple OSS Distributions {
226*5c2921b0SApple OSS Distributions volatile uint64_t *out_args = (volatile uint64_t*)args;
227*5c2921b0SApple OSS Distributions volatile uint32_t *in_args = (volatile uint32_t*)args;
228*5c2921b0SApple OSS Distributions
229*5c2921b0SApple OSS Distributions out_args[3] = *(volatile uint64_t*)&in_args[5];
230*5c2921b0SApple OSS Distributions out_args[2] = *(volatile uint64_t*)&in_args[3];
231*5c2921b0SApple OSS Distributions out_args[1] = *(volatile uint64_t*)&in_args[1];
232*5c2921b0SApple OSS Distributions out_args[0] = in_args[0];
233*5c2921b0SApple OSS Distributions }
234*5c2921b0SApple OSS Distributions
235*5c2921b0SApple OSS Distributions void
munge_wlllww(void * args)236*5c2921b0SApple OSS Distributions munge_wlllww(void *args)
237*5c2921b0SApple OSS Distributions {
238*5c2921b0SApple OSS Distributions volatile uint64_t *out_args = (volatile uint64_t*)args;
239*5c2921b0SApple OSS Distributions volatile uint32_t *in_args = (volatile uint32_t*)args;
240*5c2921b0SApple OSS Distributions
241*5c2921b0SApple OSS Distributions out_args[5] = in_args[8];
242*5c2921b0SApple OSS Distributions out_args[4] = in_args[7];
243*5c2921b0SApple OSS Distributions out_args[3] = *(volatile uint64_t*)&in_args[5];
244*5c2921b0SApple OSS Distributions out_args[2] = *(volatile uint64_t*)&in_args[3];
245*5c2921b0SApple OSS Distributions out_args[1] = *(volatile uint64_t*)&in_args[1];
246*5c2921b0SApple OSS Distributions out_args[0] = in_args[0];
247*5c2921b0SApple OSS Distributions }
248*5c2921b0SApple OSS Distributions
249*5c2921b0SApple OSS Distributions void
munge_wllll(void * args)250*5c2921b0SApple OSS Distributions munge_wllll(void *args)
251*5c2921b0SApple OSS Distributions {
252*5c2921b0SApple OSS Distributions volatile uint64_t *out_args = (volatile uint64_t*)args;
253*5c2921b0SApple OSS Distributions volatile uint32_t *in_args = (volatile uint32_t*)args;
254*5c2921b0SApple OSS Distributions
255*5c2921b0SApple OSS Distributions out_args[4] = *(volatile uint64_t*)&in_args[7];
256*5c2921b0SApple OSS Distributions out_args[3] = *(volatile uint64_t*)&in_args[5];
257*5c2921b0SApple OSS Distributions out_args[2] = *(volatile uint64_t*)&in_args[3];
258*5c2921b0SApple OSS Distributions out_args[1] = *(volatile uint64_t*)&in_args[1];
259*5c2921b0SApple OSS Distributions out_args[0] = in_args[0];
260*5c2921b0SApple OSS Distributions }
261*5c2921b0SApple OSS Distributions
262*5c2921b0SApple OSS Distributions void
munge_wllww(void * args)263*5c2921b0SApple OSS Distributions munge_wllww(void *args)
264*5c2921b0SApple OSS Distributions {
265*5c2921b0SApple OSS Distributions volatile uint64_t *out_args = (volatile uint64_t*)args;
266*5c2921b0SApple OSS Distributions volatile uint32_t *in_args = (volatile uint32_t*)args;
267*5c2921b0SApple OSS Distributions
268*5c2921b0SApple OSS Distributions out_args[4] = in_args[6];
269*5c2921b0SApple OSS Distributions out_args[3] = in_args[5];
270*5c2921b0SApple OSS Distributions out_args[2] = *(volatile uint64_t*)&in_args[3];
271*5c2921b0SApple OSS Distributions out_args[1] = *(volatile uint64_t*)&in_args[1];
272*5c2921b0SApple OSS Distributions out_args[0] = in_args[0];
273*5c2921b0SApple OSS Distributions }
274*5c2921b0SApple OSS Distributions
275*5c2921b0SApple OSS Distributions void
munge_wllwwll(void * args)276*5c2921b0SApple OSS Distributions munge_wllwwll(void *args)
277*5c2921b0SApple OSS Distributions {
278*5c2921b0SApple OSS Distributions volatile uint64_t *out_args = (volatile uint64_t*)args;
279*5c2921b0SApple OSS Distributions volatile uint32_t *in_args = (volatile uint32_t*)args;
280*5c2921b0SApple OSS Distributions
281*5c2921b0SApple OSS Distributions out_args[6] = *(volatile uint64_t*)&in_args[9];
282*5c2921b0SApple OSS Distributions out_args[5] = *(volatile uint64_t*)&in_args[7];
283*5c2921b0SApple OSS Distributions out_args[4] = in_args[6];
284*5c2921b0SApple OSS Distributions out_args[3] = in_args[5];
285*5c2921b0SApple OSS Distributions out_args[2] = *(volatile uint64_t*)&in_args[3];
286*5c2921b0SApple OSS Distributions out_args[1] = *(volatile uint64_t*)&in_args[1];
287*5c2921b0SApple OSS Distributions out_args[0] = in_args[0];
288*5c2921b0SApple OSS Distributions }
289*5c2921b0SApple OSS Distributions
290*5c2921b0SApple OSS Distributions void
munge_wwwlw(void * args)291*5c2921b0SApple OSS Distributions munge_wwwlw(void *args)
292*5c2921b0SApple OSS Distributions {
293*5c2921b0SApple OSS Distributions volatile uint64_t *out_args = (volatile uint64_t*)args;
294*5c2921b0SApple OSS Distributions volatile uint32_t *in_args = (volatile uint32_t*)args;
295*5c2921b0SApple OSS Distributions
296*5c2921b0SApple OSS Distributions out_args[4] = in_args[5];
297*5c2921b0SApple OSS Distributions out_args[3] = *(volatile uint64_t*)&in_args[3];
298*5c2921b0SApple OSS Distributions out_args[2] = in_args[2];
299*5c2921b0SApple OSS Distributions out_args[1] = in_args[1];
300*5c2921b0SApple OSS Distributions out_args[0] = in_args[0];
301*5c2921b0SApple OSS Distributions }
302*5c2921b0SApple OSS Distributions
303*5c2921b0SApple OSS Distributions void
munge_wwwlww(void * args)304*5c2921b0SApple OSS Distributions munge_wwwlww(void *args)
305*5c2921b0SApple OSS Distributions {
306*5c2921b0SApple OSS Distributions volatile uint64_t *out_args = (volatile uint64_t*)args;
307*5c2921b0SApple OSS Distributions volatile uint32_t *in_args = (volatile uint32_t*)args;
308*5c2921b0SApple OSS Distributions
309*5c2921b0SApple OSS Distributions out_args[5] = in_args[6];
310*5c2921b0SApple OSS Distributions out_args[4] = in_args[5];
311*5c2921b0SApple OSS Distributions out_args[3] = *(volatile uint64_t*)&in_args[3];
312*5c2921b0SApple OSS Distributions out_args[2] = in_args[2];
313*5c2921b0SApple OSS Distributions out_args[1] = in_args[1];
314*5c2921b0SApple OSS Distributions out_args[0] = in_args[0];
315*5c2921b0SApple OSS Distributions }
316*5c2921b0SApple OSS Distributions
317*5c2921b0SApple OSS Distributions void
munge_wwwlwww(void * args)318*5c2921b0SApple OSS Distributions munge_wwwlwww(void *args)
319*5c2921b0SApple OSS Distributions {
320*5c2921b0SApple OSS Distributions volatile uint64_t *out_args = (volatile uint64_t*)args;
321*5c2921b0SApple OSS Distributions volatile uint32_t *in_args = (volatile uint32_t*)args;
322*5c2921b0SApple OSS Distributions
323*5c2921b0SApple OSS Distributions out_args[6] = in_args[7];
324*5c2921b0SApple OSS Distributions out_args[5] = in_args[6];
325*5c2921b0SApple OSS Distributions out_args[4] = in_args[5];
326*5c2921b0SApple OSS Distributions out_args[3] = *(volatile uint64_t*)&in_args[3];
327*5c2921b0SApple OSS Distributions out_args[2] = in_args[2];
328*5c2921b0SApple OSS Distributions out_args[1] = in_args[1];
329*5c2921b0SApple OSS Distributions out_args[0] = in_args[0];
330*5c2921b0SApple OSS Distributions }
331*5c2921b0SApple OSS Distributions
332*5c2921b0SApple OSS Distributions void
munge_wwwl(void * args)333*5c2921b0SApple OSS Distributions munge_wwwl(void *args)
334*5c2921b0SApple OSS Distributions {
335*5c2921b0SApple OSS Distributions volatile uint64_t *out_args = (volatile uint64_t*)args;
336*5c2921b0SApple OSS Distributions volatile uint32_t *in_args = (volatile uint32_t*)args;
337*5c2921b0SApple OSS Distributions
338*5c2921b0SApple OSS Distributions out_args[3] = *(volatile uint64_t*)&in_args[3];
339*5c2921b0SApple OSS Distributions out_args[2] = in_args[2];
340*5c2921b0SApple OSS Distributions out_args[1] = in_args[1];
341*5c2921b0SApple OSS Distributions out_args[0] = in_args[0];
342*5c2921b0SApple OSS Distributions }
343*5c2921b0SApple OSS Distributions
344*5c2921b0SApple OSS Distributions void
munge_wwwwlw(void * args)345*5c2921b0SApple OSS Distributions munge_wwwwlw(void *args)
346*5c2921b0SApple OSS Distributions {
347*5c2921b0SApple OSS Distributions volatile uint64_t *out_args = (volatile uint64_t*)args;
348*5c2921b0SApple OSS Distributions volatile uint32_t *in_args = (volatile uint32_t*)args;
349*5c2921b0SApple OSS Distributions
350*5c2921b0SApple OSS Distributions out_args[5] = in_args[6];
351*5c2921b0SApple OSS Distributions out_args[4] = *(volatile uint64_t*)&in_args[4];
352*5c2921b0SApple OSS Distributions out_args[3] = in_args[3];
353*5c2921b0SApple OSS Distributions out_args[2] = in_args[2];
354*5c2921b0SApple OSS Distributions out_args[1] = in_args[1];
355*5c2921b0SApple OSS Distributions out_args[0] = in_args[0];
356*5c2921b0SApple OSS Distributions }
357*5c2921b0SApple OSS Distributions
358*5c2921b0SApple OSS Distributions void
munge_wwwwllww(void * args)359*5c2921b0SApple OSS Distributions munge_wwwwllww(void *args)
360*5c2921b0SApple OSS Distributions {
361*5c2921b0SApple OSS Distributions volatile uint64_t *out_args = (volatile uint64_t*)args;
362*5c2921b0SApple OSS Distributions volatile uint32_t *in_args = (volatile uint32_t*)args;
363*5c2921b0SApple OSS Distributions
364*5c2921b0SApple OSS Distributions out_args[7] = in_args[9];
365*5c2921b0SApple OSS Distributions out_args[6] = in_args[8];
366*5c2921b0SApple OSS Distributions out_args[5] = *(volatile uint64_t*)&in_args[6];
367*5c2921b0SApple OSS Distributions out_args[4] = *(volatile uint64_t*)&in_args[4];
368*5c2921b0SApple OSS Distributions out_args[3] = in_args[3];
369*5c2921b0SApple OSS Distributions out_args[2] = in_args[2];
370*5c2921b0SApple OSS Distributions out_args[1] = in_args[1];
371*5c2921b0SApple OSS Distributions out_args[0] = in_args[0];
372*5c2921b0SApple OSS Distributions }
373*5c2921b0SApple OSS Distributions
374*5c2921b0SApple OSS Distributions void
munge_wwwwl(void * args)375*5c2921b0SApple OSS Distributions munge_wwwwl(void *args)
376*5c2921b0SApple OSS Distributions {
377*5c2921b0SApple OSS Distributions volatile uint64_t *out_args = (volatile uint64_t*)args;
378*5c2921b0SApple OSS Distributions volatile uint32_t *in_args = (volatile uint32_t*)args;
379*5c2921b0SApple OSS Distributions
380*5c2921b0SApple OSS Distributions out_args[4] = *(volatile uint64_t*)&in_args[4];
381*5c2921b0SApple OSS Distributions out_args[3] = in_args[3];
382*5c2921b0SApple OSS Distributions out_args[2] = in_args[2];
383*5c2921b0SApple OSS Distributions out_args[1] = in_args[1];
384*5c2921b0SApple OSS Distributions out_args[0] = in_args[0];
385*5c2921b0SApple OSS Distributions }
386*5c2921b0SApple OSS Distributions
387*5c2921b0SApple OSS Distributions void
munge_wwwwwl(void * args)388*5c2921b0SApple OSS Distributions munge_wwwwwl(void *args)
389*5c2921b0SApple OSS Distributions {
390*5c2921b0SApple OSS Distributions volatile uint64_t *out_args = (volatile uint64_t*)args;
391*5c2921b0SApple OSS Distributions volatile uint32_t *in_args = (volatile uint32_t*)args;
392*5c2921b0SApple OSS Distributions
393*5c2921b0SApple OSS Distributions out_args[5] = *(volatile uint64_t*)&in_args[5];
394*5c2921b0SApple OSS Distributions out_args[4] = in_args[4];
395*5c2921b0SApple OSS Distributions out_args[3] = in_args[3];
396*5c2921b0SApple OSS Distributions out_args[2] = in_args[2];
397*5c2921b0SApple OSS Distributions out_args[1] = in_args[1];
398*5c2921b0SApple OSS Distributions out_args[0] = in_args[0];
399*5c2921b0SApple OSS Distributions }
400*5c2921b0SApple OSS Distributions
401*5c2921b0SApple OSS Distributions void
munge_wwwwwlww(void * args)402*5c2921b0SApple OSS Distributions munge_wwwwwlww(void *args)
403*5c2921b0SApple OSS Distributions {
404*5c2921b0SApple OSS Distributions volatile uint64_t *out_args = (volatile uint64_t*)args;
405*5c2921b0SApple OSS Distributions volatile uint32_t *in_args = (volatile uint32_t*)args;
406*5c2921b0SApple OSS Distributions
407*5c2921b0SApple OSS Distributions out_args[7] = in_args[8];
408*5c2921b0SApple OSS Distributions out_args[6] = in_args[7];
409*5c2921b0SApple OSS Distributions out_args[5] = *(volatile uint64_t*)&in_args[5];
410*5c2921b0SApple OSS Distributions out_args[4] = in_args[4];
411*5c2921b0SApple OSS Distributions out_args[3] = in_args[3];
412*5c2921b0SApple OSS Distributions out_args[2] = in_args[2];
413*5c2921b0SApple OSS Distributions out_args[1] = in_args[1];
414*5c2921b0SApple OSS Distributions out_args[0] = in_args[0];
415*5c2921b0SApple OSS Distributions }
416*5c2921b0SApple OSS Distributions
417*5c2921b0SApple OSS Distributions void
munge_wwwwwllw(void * args)418*5c2921b0SApple OSS Distributions munge_wwwwwllw(void *args)
419*5c2921b0SApple OSS Distributions {
420*5c2921b0SApple OSS Distributions volatile uint64_t *out_args = (volatile uint64_t*)args;
421*5c2921b0SApple OSS Distributions volatile uint32_t *in_args = (volatile uint32_t*)args;
422*5c2921b0SApple OSS Distributions
423*5c2921b0SApple OSS Distributions out_args[7] = in_args[9];
424*5c2921b0SApple OSS Distributions out_args[6] = *(volatile uint64_t*)&in_args[7];
425*5c2921b0SApple OSS Distributions out_args[5] = *(volatile uint64_t*)&in_args[5];
426*5c2921b0SApple OSS Distributions out_args[4] = in_args[4];
427*5c2921b0SApple OSS Distributions out_args[3] = in_args[3];
428*5c2921b0SApple OSS Distributions out_args[2] = in_args[2];
429*5c2921b0SApple OSS Distributions out_args[1] = in_args[1];
430*5c2921b0SApple OSS Distributions out_args[0] = in_args[0];
431*5c2921b0SApple OSS Distributions }
432*5c2921b0SApple OSS Distributions
433*5c2921b0SApple OSS Distributions void
munge_wwwwwlll(void * args)434*5c2921b0SApple OSS Distributions munge_wwwwwlll(void *args)
435*5c2921b0SApple OSS Distributions {
436*5c2921b0SApple OSS Distributions volatile uint64_t *out_args = (volatile uint64_t*)args;
437*5c2921b0SApple OSS Distributions volatile uint32_t *in_args = (volatile uint32_t*)args;
438*5c2921b0SApple OSS Distributions
439*5c2921b0SApple OSS Distributions out_args[7] = *(volatile uint64_t*)&in_args[9];
440*5c2921b0SApple OSS Distributions out_args[6] = *(volatile uint64_t*)&in_args[7];
441*5c2921b0SApple OSS Distributions out_args[5] = *(volatile uint64_t*)&in_args[5];
442*5c2921b0SApple OSS Distributions out_args[4] = in_args[4];
443*5c2921b0SApple OSS Distributions out_args[3] = in_args[3];
444*5c2921b0SApple OSS Distributions out_args[2] = in_args[2];
445*5c2921b0SApple OSS Distributions out_args[1] = in_args[1];
446*5c2921b0SApple OSS Distributions out_args[0] = in_args[0];
447*5c2921b0SApple OSS Distributions }
448*5c2921b0SApple OSS Distributions
449*5c2921b0SApple OSS Distributions void
munge_wwwwwwl(void * args)450*5c2921b0SApple OSS Distributions munge_wwwwwwl(void *args)
451*5c2921b0SApple OSS Distributions {
452*5c2921b0SApple OSS Distributions volatile uint64_t *out_args = (volatile uint64_t*)args;
453*5c2921b0SApple OSS Distributions volatile uint32_t *in_args = (volatile uint32_t*)args;
454*5c2921b0SApple OSS Distributions
455*5c2921b0SApple OSS Distributions out_args[6] = *(volatile uint64_t*)&in_args[6];
456*5c2921b0SApple OSS Distributions out_args[5] = in_args[5];
457*5c2921b0SApple OSS Distributions out_args[4] = in_args[4];
458*5c2921b0SApple OSS Distributions out_args[3] = in_args[3];
459*5c2921b0SApple OSS Distributions out_args[2] = in_args[2];
460*5c2921b0SApple OSS Distributions out_args[1] = in_args[1];
461*5c2921b0SApple OSS Distributions out_args[0] = in_args[0];
462*5c2921b0SApple OSS Distributions }
463*5c2921b0SApple OSS Distributions
464*5c2921b0SApple OSS Distributions void
munge_wwwwwwlw(void * args)465*5c2921b0SApple OSS Distributions munge_wwwwwwlw(void *args)
466*5c2921b0SApple OSS Distributions {
467*5c2921b0SApple OSS Distributions volatile uint64_t *out_args = (volatile uint64_t*)args;
468*5c2921b0SApple OSS Distributions volatile uint32_t *in_args = (volatile uint32_t*)args;
469*5c2921b0SApple OSS Distributions
470*5c2921b0SApple OSS Distributions out_args[7] = in_args[8];
471*5c2921b0SApple OSS Distributions out_args[6] = *(volatile uint64_t*)&in_args[6];
472*5c2921b0SApple OSS Distributions out_args[5] = in_args[5];
473*5c2921b0SApple OSS Distributions out_args[4] = in_args[4];
474*5c2921b0SApple OSS Distributions out_args[3] = in_args[3];
475*5c2921b0SApple OSS Distributions out_args[2] = in_args[2];
476*5c2921b0SApple OSS Distributions out_args[1] = in_args[1];
477*5c2921b0SApple OSS Distributions out_args[0] = in_args[0];
478*5c2921b0SApple OSS Distributions }
479*5c2921b0SApple OSS Distributions
480*5c2921b0SApple OSS Distributions void
munge_wwwwwwll(void * args)481*5c2921b0SApple OSS Distributions munge_wwwwwwll(void *args)
482*5c2921b0SApple OSS Distributions {
483*5c2921b0SApple OSS Distributions volatile uint64_t *out_args = (volatile uint64_t*)args;
484*5c2921b0SApple OSS Distributions volatile uint32_t *in_args = (volatile uint32_t*)args;
485*5c2921b0SApple OSS Distributions
486*5c2921b0SApple OSS Distributions out_args[7] = *(volatile uint64_t*)&in_args[8];
487*5c2921b0SApple OSS Distributions out_args[6] = *(volatile uint64_t*)&in_args[6];
488*5c2921b0SApple OSS Distributions out_args[5] = in_args[5];
489*5c2921b0SApple OSS Distributions out_args[4] = in_args[4];
490*5c2921b0SApple OSS Distributions out_args[3] = in_args[3];
491*5c2921b0SApple OSS Distributions out_args[2] = in_args[2];
492*5c2921b0SApple OSS Distributions out_args[1] = in_args[1];
493*5c2921b0SApple OSS Distributions out_args[0] = in_args[0];
494*5c2921b0SApple OSS Distributions }
495*5c2921b0SApple OSS Distributions
496*5c2921b0SApple OSS Distributions void
munge_wsw(void * args)497*5c2921b0SApple OSS Distributions munge_wsw(void *args)
498*5c2921b0SApple OSS Distributions {
499*5c2921b0SApple OSS Distributions volatile uint64_t *out_args = (volatile uint64_t*)args;
500*5c2921b0SApple OSS Distributions volatile uint32_t *in_args = (volatile uint32_t*)args;
501*5c2921b0SApple OSS Distributions
502*5c2921b0SApple OSS Distributions out_args[2] = in_args[2];
503*5c2921b0SApple OSS Distributions out_args[1] = (int64_t)(int)in_args[1]; /* Sign-extend */
504*5c2921b0SApple OSS Distributions out_args[0] = in_args[0];
505*5c2921b0SApple OSS Distributions }
506*5c2921b0SApple OSS Distributions
507*5c2921b0SApple OSS Distributions void
munge_wws(void * args)508*5c2921b0SApple OSS Distributions munge_wws(void *args)
509*5c2921b0SApple OSS Distributions {
510*5c2921b0SApple OSS Distributions volatile uint64_t *out_args = (volatile uint64_t*)args;
511*5c2921b0SApple OSS Distributions volatile uint32_t *in_args = (volatile uint32_t*)args;
512*5c2921b0SApple OSS Distributions
513*5c2921b0SApple OSS Distributions out_args[2] = (int64_t)(int)in_args[2]; /* Sign-extend */
514*5c2921b0SApple OSS Distributions out_args[1] = in_args[1];
515*5c2921b0SApple OSS Distributions out_args[0] = in_args[0];
516*5c2921b0SApple OSS Distributions }
517*5c2921b0SApple OSS Distributions
518*5c2921b0SApple OSS Distributions void
munge_wwws(void * args)519*5c2921b0SApple OSS Distributions munge_wwws(void *args)
520*5c2921b0SApple OSS Distributions {
521*5c2921b0SApple OSS Distributions volatile uint64_t *out_args = (volatile uint64_t*)args;
522*5c2921b0SApple OSS Distributions volatile uint32_t *in_args = (volatile uint32_t*)args;
523*5c2921b0SApple OSS Distributions
524*5c2921b0SApple OSS Distributions out_args[3] = (int64_t)(int)in_args[3]; /* Sign-extend */
525*5c2921b0SApple OSS Distributions out_args[2] = in_args[2];
526*5c2921b0SApple OSS Distributions out_args[1] = in_args[1];
527*5c2921b0SApple OSS Distributions out_args[0] = in_args[0];
528*5c2921b0SApple OSS Distributions }
529*5c2921b0SApple OSS Distributions
530*5c2921b0SApple OSS Distributions
531*5c2921b0SApple OSS Distributions void
munge_wwwsw(void * args)532*5c2921b0SApple OSS Distributions munge_wwwsw(void *args)
533*5c2921b0SApple OSS Distributions {
534*5c2921b0SApple OSS Distributions volatile uint64_t *out_args = (volatile uint64_t*)args;
535*5c2921b0SApple OSS Distributions volatile uint32_t *in_args = (volatile uint32_t*)args;
536*5c2921b0SApple OSS Distributions
537*5c2921b0SApple OSS Distributions out_args[4] = in_args[4];
538*5c2921b0SApple OSS Distributions out_args[3] = (int64_t)(int)in_args[3]; /* Sign-extend */
539*5c2921b0SApple OSS Distributions out_args[2] = in_args[2];
540*5c2921b0SApple OSS Distributions out_args[1] = in_args[1];
541*5c2921b0SApple OSS Distributions out_args[0] = in_args[0];
542*5c2921b0SApple OSS Distributions }
543*5c2921b0SApple OSS Distributions
544*5c2921b0SApple OSS Distributions void
munge_llllllll(void * args __unused)545*5c2921b0SApple OSS Distributions munge_llllllll(void *args __unused)
546*5c2921b0SApple OSS Distributions {
547*5c2921b0SApple OSS Distributions /* Nothing to do, already all 64-bit */
548*5c2921b0SApple OSS Distributions }
549*5c2921b0SApple OSS Distributions
550*5c2921b0SApple OSS Distributions void
munge_llllll(void * args __unused)551*5c2921b0SApple OSS Distributions munge_llllll(void *args __unused)
552*5c2921b0SApple OSS Distributions {
553*5c2921b0SApple OSS Distributions /* Nothing to do, already all 64-bit */
554*5c2921b0SApple OSS Distributions }
555*5c2921b0SApple OSS Distributions
556*5c2921b0SApple OSS Distributions void
munge_llll(void * args __unused)557*5c2921b0SApple OSS Distributions munge_llll(void *args __unused)
558*5c2921b0SApple OSS Distributions {
559*5c2921b0SApple OSS Distributions /* Nothing to do, already all 64-bit */
560*5c2921b0SApple OSS Distributions }
561*5c2921b0SApple OSS Distributions
562*5c2921b0SApple OSS Distributions void
munge_lll(void * args __unused)563*5c2921b0SApple OSS Distributions munge_lll(void *args __unused)
564*5c2921b0SApple OSS Distributions {
565*5c2921b0SApple OSS Distributions /* Nothing to do, already all 64-bit */
566*5c2921b0SApple OSS Distributions }
567*5c2921b0SApple OSS Distributions
568*5c2921b0SApple OSS Distributions void
munge_ll(void * args __unused)569*5c2921b0SApple OSS Distributions munge_ll(void *args __unused)
570*5c2921b0SApple OSS Distributions {
571*5c2921b0SApple OSS Distributions /* Nothing to do, already all 64-bit */
572*5c2921b0SApple OSS Distributions }
573*5c2921b0SApple OSS Distributions
574*5c2921b0SApple OSS Distributions void
munge_l(void * args __unused)575*5c2921b0SApple OSS Distributions munge_l(void *args __unused)
576*5c2921b0SApple OSS Distributions {
577*5c2921b0SApple OSS Distributions /* Nothing to do, already all 64-bit */
578*5c2921b0SApple OSS Distributions }
579*5c2921b0SApple OSS Distributions
580*5c2921b0SApple OSS Distributions void
munge_lw(void * args)581*5c2921b0SApple OSS Distributions munge_lw(void *args)
582*5c2921b0SApple OSS Distributions {
583*5c2921b0SApple OSS Distributions volatile uint64_t *out_args = (volatile uint64_t*)args;
584*5c2921b0SApple OSS Distributions volatile uint32_t *in_args = (volatile uint32_t*)args;
585*5c2921b0SApple OSS Distributions
586*5c2921b0SApple OSS Distributions out_args[1] = in_args[2];
587*5c2921b0SApple OSS Distributions out_args[0] = *(volatile uint64_t*)&in_args[0];
588*5c2921b0SApple OSS Distributions }
589*5c2921b0SApple OSS Distributions
590*5c2921b0SApple OSS Distributions void
munge_lwww(void * args)591*5c2921b0SApple OSS Distributions munge_lwww(void *args)
592*5c2921b0SApple OSS Distributions {
593*5c2921b0SApple OSS Distributions volatile uint64_t *out_args = (volatile uint64_t*)args;
594*5c2921b0SApple OSS Distributions volatile uint32_t *in_args = (volatile uint32_t*)args;
595*5c2921b0SApple OSS Distributions
596*5c2921b0SApple OSS Distributions out_args[3] = in_args[4];
597*5c2921b0SApple OSS Distributions out_args[2] = in_args[3];
598*5c2921b0SApple OSS Distributions out_args[1] = in_args[2];
599*5c2921b0SApple OSS Distributions out_args[0] = *(volatile uint64_t*)&in_args[0];
600*5c2921b0SApple OSS Distributions }
601*5c2921b0SApple OSS Distributions
602*5c2921b0SApple OSS Distributions void
munge_lwwwwwww(void * args)603*5c2921b0SApple OSS Distributions munge_lwwwwwww(void *args)
604*5c2921b0SApple OSS Distributions {
605*5c2921b0SApple OSS Distributions volatile uint64_t *out_args = (volatile uint64_t*)args;
606*5c2921b0SApple OSS Distributions volatile uint32_t *in_args = (volatile uint32_t*)args;
607*5c2921b0SApple OSS Distributions
608*5c2921b0SApple OSS Distributions out_args[7] = in_args[8];
609*5c2921b0SApple OSS Distributions out_args[6] = in_args[7];
610*5c2921b0SApple OSS Distributions out_args[5] = in_args[6];
611*5c2921b0SApple OSS Distributions out_args[4] = in_args[5];
612*5c2921b0SApple OSS Distributions out_args[3] = in_args[4];
613*5c2921b0SApple OSS Distributions out_args[2] = in_args[3];
614*5c2921b0SApple OSS Distributions out_args[1] = in_args[2];
615*5c2921b0SApple OSS Distributions out_args[0] = *(volatile uint64_t*)&in_args[0];
616*5c2921b0SApple OSS Distributions }
617*5c2921b0SApple OSS Distributions
618*5c2921b0SApple OSS Distributions void
munge_wwlww(void * args)619*5c2921b0SApple OSS Distributions munge_wwlww(void *args)
620*5c2921b0SApple OSS Distributions {
621*5c2921b0SApple OSS Distributions volatile uint64_t *out_args = (volatile uint64_t*)args;
622*5c2921b0SApple OSS Distributions volatile uint32_t *in_args = (volatile uint32_t*)args;
623*5c2921b0SApple OSS Distributions
624*5c2921b0SApple OSS Distributions out_args[4] = in_args[5];
625*5c2921b0SApple OSS Distributions out_args[3] = in_args[4];
626*5c2921b0SApple OSS Distributions out_args[2] = *(volatile uint64_t*)&in_args[2];
627*5c2921b0SApple OSS Distributions out_args[1] = in_args[1];
628*5c2921b0SApple OSS Distributions out_args[0] = in_args[0];
629*5c2921b0SApple OSS Distributions }
630*5c2921b0SApple OSS Distributions
631*5c2921b0SApple OSS Distributions void
munge_wwlwww(void * args)632*5c2921b0SApple OSS Distributions munge_wwlwww(void *args)
633*5c2921b0SApple OSS Distributions {
634*5c2921b0SApple OSS Distributions volatile uint64_t *out_args = (volatile uint64_t*)args;
635*5c2921b0SApple OSS Distributions volatile uint32_t *in_args = (volatile uint32_t*)args;
636*5c2921b0SApple OSS Distributions
637*5c2921b0SApple OSS Distributions out_args[5] = in_args[6];
638*5c2921b0SApple OSS Distributions out_args[4] = in_args[5];
639*5c2921b0SApple OSS Distributions out_args[3] = in_args[4];
640*5c2921b0SApple OSS Distributions out_args[2] = *(volatile uint64_t*)&in_args[2];
641*5c2921b0SApple OSS Distributions out_args[1] = in_args[1];
642*5c2921b0SApple OSS Distributions out_args[0] = in_args[0];
643*5c2921b0SApple OSS Distributions }
644*5c2921b0SApple OSS Distributions
645*5c2921b0SApple OSS Distributions void
munge_wlwwwl(void * args)646*5c2921b0SApple OSS Distributions munge_wlwwwl(void *args)
647*5c2921b0SApple OSS Distributions {
648*5c2921b0SApple OSS Distributions volatile uint64_t *out_args = (volatile uint64_t*)args;
649*5c2921b0SApple OSS Distributions volatile uint32_t *in_args = (volatile uint32_t*)args;
650*5c2921b0SApple OSS Distributions
651*5c2921b0SApple OSS Distributions out_args[5] = *(volatile uint64_t*)&in_args[6];
652*5c2921b0SApple OSS Distributions out_args[4] = in_args[5];
653*5c2921b0SApple OSS Distributions out_args[3] = in_args[4];
654*5c2921b0SApple OSS Distributions out_args[2] = in_args[3];
655*5c2921b0SApple OSS Distributions out_args[1] = *(volatile uint64_t*)&in_args[1];
656*5c2921b0SApple OSS Distributions out_args[0] = in_args[0];
657*5c2921b0SApple OSS Distributions }
658*5c2921b0SApple OSS Distributions
659*5c2921b0SApple OSS Distributions void
munge_wwlwwwl(void * args)660*5c2921b0SApple OSS Distributions munge_wwlwwwl(void *args)
661*5c2921b0SApple OSS Distributions {
662*5c2921b0SApple OSS Distributions volatile uint64_t *out_args = (volatile uint64_t*)args;
663*5c2921b0SApple OSS Distributions volatile uint32_t *in_args = (volatile uint32_t*)args;
664*5c2921b0SApple OSS Distributions
665*5c2921b0SApple OSS Distributions out_args[6] = *(volatile uint64_t*)&in_args[7];
666*5c2921b0SApple OSS Distributions out_args[5] = in_args[6];
667*5c2921b0SApple OSS Distributions out_args[4] = in_args[5];
668*5c2921b0SApple OSS Distributions out_args[3] = in_args[4];
669*5c2921b0SApple OSS Distributions out_args[2] = *(volatile uint64_t*)&in_args[2];
670*5c2921b0SApple OSS Distributions out_args[1] = in_args[1];
671*5c2921b0SApple OSS Distributions out_args[0] = in_args[0];
672*5c2921b0SApple OSS Distributions }
673*5c2921b0SApple OSS Distributions
674*5c2921b0SApple OSS Distributions /*
675*5c2921b0SApple OSS Distributions * Munge array of 32-bit values into an array of 64-bit values,
676*5c2921b0SApple OSS Distributions * without sign extension. Note, src and dest can be the same
677*5c2921b0SApple OSS Distributions * (copies from end of array)
678*5c2921b0SApple OSS Distributions */
679*5c2921b0SApple OSS Distributions static inline __attribute__((always_inline)) void
munge_32_to_64_unsigned(volatile uint64_t * dest,volatile uint32_t * src,int count)680*5c2921b0SApple OSS Distributions munge_32_to_64_unsigned(volatile uint64_t *dest, volatile uint32_t *src, int count)
681*5c2921b0SApple OSS Distributions {
682*5c2921b0SApple OSS Distributions int i;
683*5c2921b0SApple OSS Distributions
684*5c2921b0SApple OSS Distributions for (i = count - 1; i >= 0; i--) {
685*5c2921b0SApple OSS Distributions dest[i] = src[i];
686*5c2921b0SApple OSS Distributions }
687*5c2921b0SApple OSS Distributions }
688