1
2# qhasm: int32 a
3
4# qhasm: int32 p
5
6# qhasm: int32 s
7
8# qhasm: int32 t
9
10# qhasm: int32 w
11
12# qhasm: int32 r
13
14# qhasm: int32 v
15
16# qhasm: stack32 arg1
17
18# qhasm: stack32 arg2
19
20# qhasm: stack32 arg3
21
22# qhasm: stack32 arg4
23
24# qhasm: input arg1
25
26# qhasm: input arg2
27
28# qhasm: input arg3
29
30# qhasm: input arg4
31
32# qhasm: int32 eax
33
34# qhasm: int32 ebx
35
36# qhasm: int32 esi
37
38# qhasm: int32 edi
39
40# qhasm: int32 ebp
41
42# qhasm: caller eax
43
44# qhasm: caller ebx
45
46# qhasm: caller esi
47
48# qhasm: caller edi
49
50# qhasm: caller ebp
51
52# qhasm: int32 k
53
54# qhasm: int32 kbits
55
56# qhasm: int32 iv
57
58# qhasm: int32 i
59
60# qhasm: stack32 x_backup
61
62# qhasm: int32 x
63
64# qhasm: stack32 m_backup
65
66# qhasm: int32 m
67
68# qhasm: stack32 out_backup
69
70# qhasm: int32 out
71
72# qhasm: stack32 bytes_backup
73
74# qhasm: int32 bytes
75
76# qhasm: stack32 eax_stack
77
78# qhasm: stack32 ebx_stack
79
80# qhasm: stack32 esi_stack
81
82# qhasm: stack32 edi_stack
83
84# qhasm: stack32 ebp_stack
85
86# qhasm: int32 in0
87
88# qhasm: int32 in1
89
90# qhasm: int32 in2
91
92# qhasm: int32 in3
93
94# qhasm: int32 in4
95
96# qhasm: int32 in5
97
98# qhasm: int32 in6
99
100# qhasm: int32 in7
101
102# qhasm: int32 in8
103
104# qhasm: int32 in9
105
106# qhasm: int32 in10
107
108# qhasm: int32 in11
109
110# qhasm: int32 in12
111
112# qhasm: int32 in13
113
114# qhasm: int32 in14
115
116# qhasm: int32 in15
117
118# qhasm: stack32 x0
119
120# qhasm: stack32 x1
121
122# qhasm: stack32 x2
123
124# qhasm: stack32 x3
125
126# qhasm: stack32 x4
127
128# qhasm: stack32 x5
129
130# qhasm: stack32 x6
131
132# qhasm: stack32 x7
133
134# qhasm: stack32 x8
135
136# qhasm: stack32 x9
137
138# qhasm: stack32 x10
139
140# qhasm: stack32 x11
141
142# qhasm: stack32 x12
143
144# qhasm: stack32 x13
145
146# qhasm: stack32 x14
147
148# qhasm: stack32 x15
149
150# qhasm: stack32 j0
151
152# qhasm: stack32 j1
153
154# qhasm: stack32 j2
155
156# qhasm: stack32 j3
157
158# qhasm: stack32 j4
159
160# qhasm: stack32 j5
161
162# qhasm: stack32 j6
163
164# qhasm: stack32 j7
165
166# qhasm: stack32 j8
167
168# qhasm: stack32 j9
169
170# qhasm: stack32 j10
171
172# qhasm: stack32 j11
173
174# qhasm: stack32 j12
175
176# qhasm: stack32 j13
177
178# qhasm: stack32 j14
179
180# qhasm: stack32 j15
181
182# qhasm: stack512 tmp
183
184# qhasm: stack32 ctarget
185
186# qhasm: enter ECRYPT_keystream_bytes
187.text
188.p2align 5
189.globl _ECRYPT_keystream_bytes
190.globl ECRYPT_keystream_bytes
191_ECRYPT_keystream_bytes:
192ECRYPT_keystream_bytes:
193mov %esp,%eax
194and $31,%eax
195add $256,%eax
196sub %eax,%esp
197
198# qhasm: eax_stack = eax
199# asm 1: movl <eax=int32#1,>eax_stack=stack32#1
200# asm 2: movl <eax=%eax,>eax_stack=0(%esp)
201movl %eax,0(%esp)
202
203# qhasm: ebx_stack = ebx
204# asm 1: movl <ebx=int32#4,>ebx_stack=stack32#2
205# asm 2: movl <ebx=%ebx,>ebx_stack=4(%esp)
206movl %ebx,4(%esp)
207
208# qhasm: esi_stack = esi
209# asm 1: movl <esi=int32#5,>esi_stack=stack32#3
210# asm 2: movl <esi=%esi,>esi_stack=8(%esp)
211movl %esi,8(%esp)
212
213# qhasm: edi_stack = edi
214# asm 1: movl <edi=int32#6,>edi_stack=stack32#4
215# asm 2: movl <edi=%edi,>edi_stack=12(%esp)
216movl %edi,12(%esp)
217
218# qhasm: ebp_stack = ebp
219# asm 1: movl <ebp=int32#7,>ebp_stack=stack32#5
220# asm 2: movl <ebp=%ebp,>ebp_stack=16(%esp)
221movl %ebp,16(%esp)
222
223# qhasm: x = arg1
224# asm 1: movl <arg1=stack32#-1,>x=int32#3
225# asm 2: movl <arg1=4(%esp,%eax),>x=%edx
226movl 4(%esp,%eax),%edx
227
228# qhasm: m = arg2
229# asm 1: movl <arg2=stack32#-2,>m=int32#5
230# asm 2: movl <arg2=8(%esp,%eax),>m=%esi
231movl 8(%esp,%eax),%esi
232
233# qhasm: out = m
234# asm 1: mov  <m=int32#5,>out=int32#6
235# asm 2: mov  <m=%esi,>out=%edi
236mov  %esi,%edi
237
238# qhasm: bytes = arg3
239# asm 1: movl <arg3=stack32#-3,>bytes=int32#4
240# asm 2: movl <arg3=12(%esp,%eax),>bytes=%ebx
241movl 12(%esp,%eax),%ebx
242
243# qhasm:               unsigned>? bytes - 0
244# asm 1: cmp  $0,<bytes=int32#4
245# asm 2: cmp  $0,<bytes=%ebx
246cmp  $0,%ebx
247# comment:fp stack unchanged by jump
248
249# qhasm: goto done if !unsigned>
250jbe ._done
251
252# qhasm: a = 0
253# asm 1: mov  $0,>a=int32#1
254# asm 2: mov  $0,>a=%eax
255mov  $0,%eax
256
257# qhasm: i = bytes
258# asm 1: mov  <bytes=int32#4,>i=int32#2
259# asm 2: mov  <bytes=%ebx,>i=%ecx
260mov  %ebx,%ecx
261
262# qhasm: while (i) { *out++ = a; --i }
263rep stosb
264
265# qhasm: out -= bytes
266# asm 1: subl <bytes=int32#4,<out=int32#6
267# asm 2: subl <bytes=%ebx,<out=%edi
268subl %ebx,%edi
269# comment:fp stack unchanged by jump
270
271# qhasm: goto start
272jmp ._start
273
274# qhasm: enter ECRYPT_decrypt_bytes
275.text
276.p2align 5
277.globl _ECRYPT_decrypt_bytes
278.globl ECRYPT_decrypt_bytes
279_ECRYPT_decrypt_bytes:
280ECRYPT_decrypt_bytes:
281mov %esp,%eax
282and $31,%eax
283add $256,%eax
284sub %eax,%esp
285
286# qhasm: eax_stack = eax
287# asm 1: movl <eax=int32#1,>eax_stack=stack32#1
288# asm 2: movl <eax=%eax,>eax_stack=0(%esp)
289movl %eax,0(%esp)
290
291# qhasm: ebx_stack = ebx
292# asm 1: movl <ebx=int32#4,>ebx_stack=stack32#2
293# asm 2: movl <ebx=%ebx,>ebx_stack=4(%esp)
294movl %ebx,4(%esp)
295
296# qhasm: esi_stack = esi
297# asm 1: movl <esi=int32#5,>esi_stack=stack32#3
298# asm 2: movl <esi=%esi,>esi_stack=8(%esp)
299movl %esi,8(%esp)
300
301# qhasm: edi_stack = edi
302# asm 1: movl <edi=int32#6,>edi_stack=stack32#4
303# asm 2: movl <edi=%edi,>edi_stack=12(%esp)
304movl %edi,12(%esp)
305
306# qhasm: ebp_stack = ebp
307# asm 1: movl <ebp=int32#7,>ebp_stack=stack32#5
308# asm 2: movl <ebp=%ebp,>ebp_stack=16(%esp)
309movl %ebp,16(%esp)
310
311# qhasm: x = arg1
312# asm 1: movl <arg1=stack32#-1,>x=int32#3
313# asm 2: movl <arg1=4(%esp,%eax),>x=%edx
314movl 4(%esp,%eax),%edx
315
316# qhasm: m = arg2
317# asm 1: movl <arg2=stack32#-2,>m=int32#5
318# asm 2: movl <arg2=8(%esp,%eax),>m=%esi
319movl 8(%esp,%eax),%esi
320
321# qhasm: out = arg3
322# asm 1: movl <arg3=stack32#-3,>out=int32#6
323# asm 2: movl <arg3=12(%esp,%eax),>out=%edi
324movl 12(%esp,%eax),%edi
325
326# qhasm: bytes = arg4
327# asm 1: movl <arg4=stack32#-4,>bytes=int32#4
328# asm 2: movl <arg4=16(%esp,%eax),>bytes=%ebx
329movl 16(%esp,%eax),%ebx
330
331# qhasm:               unsigned>? bytes - 0
332# asm 1: cmp  $0,<bytes=int32#4
333# asm 2: cmp  $0,<bytes=%ebx
334cmp  $0,%ebx
335# comment:fp stack unchanged by jump
336
337# qhasm: goto done if !unsigned>
338jbe ._done
339# comment:fp stack unchanged by jump
340
341# qhasm: goto start
342jmp ._start
343
344# qhasm: enter ECRYPT_encrypt_bytes
345.text
346.p2align 5
347.globl _ECRYPT_encrypt_bytes
348.globl ECRYPT_encrypt_bytes
349_ECRYPT_encrypt_bytes:
350ECRYPT_encrypt_bytes:
351mov %esp,%eax
352and $31,%eax
353add $256,%eax
354sub %eax,%esp
355
356# qhasm: eax_stack = eax
357# asm 1: movl <eax=int32#1,>eax_stack=stack32#1
358# asm 2: movl <eax=%eax,>eax_stack=0(%esp)
359movl %eax,0(%esp)
360
361# qhasm: ebx_stack = ebx
362# asm 1: movl <ebx=int32#4,>ebx_stack=stack32#2
363# asm 2: movl <ebx=%ebx,>ebx_stack=4(%esp)
364movl %ebx,4(%esp)
365
366# qhasm: esi_stack = esi
367# asm 1: movl <esi=int32#5,>esi_stack=stack32#3
368# asm 2: movl <esi=%esi,>esi_stack=8(%esp)
369movl %esi,8(%esp)
370
371# qhasm: edi_stack = edi
372# asm 1: movl <edi=int32#6,>edi_stack=stack32#4
373# asm 2: movl <edi=%edi,>edi_stack=12(%esp)
374movl %edi,12(%esp)
375
376# qhasm: ebp_stack = ebp
377# asm 1: movl <ebp=int32#7,>ebp_stack=stack32#5
378# asm 2: movl <ebp=%ebp,>ebp_stack=16(%esp)
379movl %ebp,16(%esp)
380
381# qhasm: x = arg1
382# asm 1: movl <arg1=stack32#-1,>x=int32#3
383# asm 2: movl <arg1=4(%esp,%eax),>x=%edx
384movl 4(%esp,%eax),%edx
385
386# qhasm: m = arg2
387# asm 1: movl <arg2=stack32#-2,>m=int32#5
388# asm 2: movl <arg2=8(%esp,%eax),>m=%esi
389movl 8(%esp,%eax),%esi
390
391# qhasm: out = arg3
392# asm 1: movl <arg3=stack32#-3,>out=int32#6
393# asm 2: movl <arg3=12(%esp,%eax),>out=%edi
394movl 12(%esp,%eax),%edi
395
396# qhasm: bytes = arg4
397# asm 1: movl <arg4=stack32#-4,>bytes=int32#4
398# asm 2: movl <arg4=16(%esp,%eax),>bytes=%ebx
399movl 16(%esp,%eax),%ebx
400
401# qhasm:               unsigned>? bytes - 0
402# asm 1: cmp  $0,<bytes=int32#4
403# asm 2: cmp  $0,<bytes=%ebx
404cmp  $0,%ebx
405# comment:fp stack unchanged by jump
406
407# qhasm: goto done if !unsigned>
408jbe ._done
409# comment:fp stack unchanged by fallthrough
410
411# qhasm: start:
412._start:
413
414# qhasm: in0 = *(uint32 *) (x + 0)
415# asm 1: movl 0(<x=int32#3),>in0=int32#1
416# asm 2: movl 0(<x=%edx),>in0=%eax
417movl 0(%edx),%eax
418
419# qhasm: in1 = *(uint32 *) (x + 4)
420# asm 1: movl 4(<x=int32#3),>in1=int32#2
421# asm 2: movl 4(<x=%edx),>in1=%ecx
422movl 4(%edx),%ecx
423
424# qhasm: in2 = *(uint32 *) (x + 8)
425# asm 1: movl 8(<x=int32#3),>in2=int32#7
426# asm 2: movl 8(<x=%edx),>in2=%ebp
427movl 8(%edx),%ebp
428
429# qhasm: j0 = in0
430# asm 1: movl <in0=int32#1,>j0=stack32#6
431# asm 2: movl <in0=%eax,>j0=20(%esp)
432movl %eax,20(%esp)
433
434# qhasm: in3 = *(uint32 *) (x + 12)
435# asm 1: movl 12(<x=int32#3),>in3=int32#1
436# asm 2: movl 12(<x=%edx),>in3=%eax
437movl 12(%edx),%eax
438
439# qhasm: j1 = in1
440# asm 1: movl <in1=int32#2,>j1=stack32#7
441# asm 2: movl <in1=%ecx,>j1=24(%esp)
442movl %ecx,24(%esp)
443
444# qhasm: in4 = *(uint32 *) (x + 16)
445# asm 1: movl 16(<x=int32#3),>in4=int32#2
446# asm 2: movl 16(<x=%edx),>in4=%ecx
447movl 16(%edx),%ecx
448
449# qhasm: j2 = in2
450# asm 1: movl <in2=int32#7,>j2=stack32#8
451# asm 2: movl <in2=%ebp,>j2=28(%esp)
452movl %ebp,28(%esp)
453
454# qhasm: in5 = *(uint32 *) (x + 20)
455# asm 1: movl 20(<x=int32#3),>in5=int32#7
456# asm 2: movl 20(<x=%edx),>in5=%ebp
457movl 20(%edx),%ebp
458
459# qhasm: j3 = in3
460# asm 1: movl <in3=int32#1,>j3=stack32#9
461# asm 2: movl <in3=%eax,>j3=32(%esp)
462movl %eax,32(%esp)
463
464# qhasm: in6 = *(uint32 *) (x + 24)
465# asm 1: movl 24(<x=int32#3),>in6=int32#1
466# asm 2: movl 24(<x=%edx),>in6=%eax
467movl 24(%edx),%eax
468
469# qhasm: j4 = in4
470# asm 1: movl <in4=int32#2,>j4=stack32#10
471# asm 2: movl <in4=%ecx,>j4=36(%esp)
472movl %ecx,36(%esp)
473
474# qhasm: in7 = *(uint32 *) (x + 28)
475# asm 1: movl 28(<x=int32#3),>in7=int32#2
476# asm 2: movl 28(<x=%edx),>in7=%ecx
477movl 28(%edx),%ecx
478
479# qhasm: j5 = in5
480# asm 1: movl <in5=int32#7,>j5=stack32#11
481# asm 2: movl <in5=%ebp,>j5=40(%esp)
482movl %ebp,40(%esp)
483
484# qhasm: in8 = *(uint32 *) (x + 32)
485# asm 1: movl 32(<x=int32#3),>in8=int32#7
486# asm 2: movl 32(<x=%edx),>in8=%ebp
487movl 32(%edx),%ebp
488
489# qhasm: j6 = in6
490# asm 1: movl <in6=int32#1,>j6=stack32#12
491# asm 2: movl <in6=%eax,>j6=44(%esp)
492movl %eax,44(%esp)
493
494# qhasm: in9 = *(uint32 *) (x + 36)
495# asm 1: movl 36(<x=int32#3),>in9=int32#1
496# asm 2: movl 36(<x=%edx),>in9=%eax
497movl 36(%edx),%eax
498
499# qhasm: j7 = in7
500# asm 1: movl <in7=int32#2,>j7=stack32#13
501# asm 2: movl <in7=%ecx,>j7=48(%esp)
502movl %ecx,48(%esp)
503
504# qhasm: in10 = *(uint32 *) (x + 40)
505# asm 1: movl 40(<x=int32#3),>in10=int32#2
506# asm 2: movl 40(<x=%edx),>in10=%ecx
507movl 40(%edx),%ecx
508
509# qhasm: j8 = in8
510# asm 1: movl <in8=int32#7,>j8=stack32#14
511# asm 2: movl <in8=%ebp,>j8=52(%esp)
512movl %ebp,52(%esp)
513
514# qhasm: in11 = *(uint32 *) (x + 44)
515# asm 1: movl 44(<x=int32#3),>in11=int32#7
516# asm 2: movl 44(<x=%edx),>in11=%ebp
517movl 44(%edx),%ebp
518
519# qhasm: j9 = in9
520# asm 1: movl <in9=int32#1,>j9=stack32#15
521# asm 2: movl <in9=%eax,>j9=56(%esp)
522movl %eax,56(%esp)
523
524# qhasm: in12 = *(uint32 *) (x + 48)
525# asm 1: movl 48(<x=int32#3),>in12=int32#1
526# asm 2: movl 48(<x=%edx),>in12=%eax
527movl 48(%edx),%eax
528
529# qhasm: j10 = in10
530# asm 1: movl <in10=int32#2,>j10=stack32#16
531# asm 2: movl <in10=%ecx,>j10=60(%esp)
532movl %ecx,60(%esp)
533
534# qhasm: in13 = *(uint32 *) (x + 52)
535# asm 1: movl 52(<x=int32#3),>in13=int32#2
536# asm 2: movl 52(<x=%edx),>in13=%ecx
537movl 52(%edx),%ecx
538
539# qhasm: j11 = in11
540# asm 1: movl <in11=int32#7,>j11=stack32#17
541# asm 2: movl <in11=%ebp,>j11=64(%esp)
542movl %ebp,64(%esp)
543
544# qhasm: in14 = *(uint32 *) (x + 56)
545# asm 1: movl 56(<x=int32#3),>in14=int32#7
546# asm 2: movl 56(<x=%edx),>in14=%ebp
547movl 56(%edx),%ebp
548
549# qhasm: j12 = in12
550# asm 1: movl <in12=int32#1,>j12=stack32#18
551# asm 2: movl <in12=%eax,>j12=68(%esp)
552movl %eax,68(%esp)
553
554# qhasm: in15 = *(uint32 *) (x + 60)
555# asm 1: movl 60(<x=int32#3),>in15=int32#1
556# asm 2: movl 60(<x=%edx),>in15=%eax
557movl 60(%edx),%eax
558
559# qhasm: j13 = in13
560# asm 1: movl <in13=int32#2,>j13=stack32#19
561# asm 2: movl <in13=%ecx,>j13=72(%esp)
562movl %ecx,72(%esp)
563
564# qhasm: j14 = in14
565# asm 1: movl <in14=int32#7,>j14=stack32#20
566# asm 2: movl <in14=%ebp,>j14=76(%esp)
567movl %ebp,76(%esp)
568
569# qhasm: j15 = in15
570# asm 1: movl <in15=int32#1,>j15=stack32#21
571# asm 2: movl <in15=%eax,>j15=80(%esp)
572movl %eax,80(%esp)
573
574# qhasm: x_backup = x
575# asm 1: movl <x=int32#3,>x_backup=stack32#22
576# asm 2: movl <x=%edx,>x_backup=84(%esp)
577movl %edx,84(%esp)
578
579# qhasm: bytesatleast1:
580._bytesatleast1:
581
582# qhasm:                   unsigned<? bytes - 64
583# asm 1: cmp  $64,<bytes=int32#4
584# asm 2: cmp  $64,<bytes=%ebx
585cmp  $64,%ebx
586# comment:fp stack unchanged by jump
587
588# qhasm:   goto nocopy if !unsigned<
589jae ._nocopy
590
591# qhasm:     ctarget = out
592# asm 1: movl <out=int32#6,>ctarget=stack32#23
593# asm 2: movl <out=%edi,>ctarget=88(%esp)
594movl %edi,88(%esp)
595
596# qhasm:     out = &tmp
597# asm 1: leal <tmp=stack512#1,>out=int32#6
598# asm 2: leal <tmp=192(%esp),>out=%edi
599leal 192(%esp),%edi
600
601# qhasm:     i = bytes
602# asm 1: mov  <bytes=int32#4,>i=int32#2
603# asm 2: mov  <bytes=%ebx,>i=%ecx
604mov  %ebx,%ecx
605
606# qhasm:     while (i) { *out++ = *m++; --i }
607rep movsb
608
609# qhasm:     out = &tmp
610# asm 1: leal <tmp=stack512#1,>out=int32#6
611# asm 2: leal <tmp=192(%esp),>out=%edi
612leal 192(%esp),%edi
613
614# qhasm:     m = &tmp
615# asm 1: leal <tmp=stack512#1,>m=int32#5
616# asm 2: leal <tmp=192(%esp),>m=%esi
617leal 192(%esp),%esi
618# comment:fp stack unchanged by fallthrough
619
620# qhasm:   nocopy:
621._nocopy:
622
623# qhasm:   out_backup = out
624# asm 1: movl <out=int32#6,>out_backup=stack32#24
625# asm 2: movl <out=%edi,>out_backup=92(%esp)
626movl %edi,92(%esp)
627
628# qhasm:   m_backup = m
629# asm 1: movl <m=int32#5,>m_backup=stack32#25
630# asm 2: movl <m=%esi,>m_backup=96(%esp)
631movl %esi,96(%esp)
632
633# qhasm:   bytes_backup = bytes
634# asm 1: movl <bytes=int32#4,>bytes_backup=stack32#26
635# asm 2: movl <bytes=%ebx,>bytes_backup=100(%esp)
636movl %ebx,100(%esp)
637
638# qhasm:   in0 = j0
639# asm 1: movl <j0=stack32#6,>in0=int32#1
640# asm 2: movl <j0=20(%esp),>in0=%eax
641movl 20(%esp),%eax
642
643# qhasm:   in1 = j1
644# asm 1: movl <j1=stack32#7,>in1=int32#2
645# asm 2: movl <j1=24(%esp),>in1=%ecx
646movl 24(%esp),%ecx
647
648# qhasm:   in2 = j2
649# asm 1: movl <j2=stack32#8,>in2=int32#3
650# asm 2: movl <j2=28(%esp),>in2=%edx
651movl 28(%esp),%edx
652
653# qhasm:   in3 = j3
654# asm 1: movl <j3=stack32#9,>in3=int32#4
655# asm 2: movl <j3=32(%esp),>in3=%ebx
656movl 32(%esp),%ebx
657
658# qhasm:   x0 = in0
659# asm 1: movl <in0=int32#1,>x0=stack32#27
660# asm 2: movl <in0=%eax,>x0=104(%esp)
661movl %eax,104(%esp)
662
663# qhasm:   x1 = in1
664# asm 1: movl <in1=int32#2,>x1=stack32#28
665# asm 2: movl <in1=%ecx,>x1=108(%esp)
666movl %ecx,108(%esp)
667
668# qhasm:   x2 = in2
669# asm 1: movl <in2=int32#3,>x2=stack32#29
670# asm 2: movl <in2=%edx,>x2=112(%esp)
671movl %edx,112(%esp)
672
673# qhasm:   x3 = in3
674# asm 1: movl <in3=int32#4,>x3=stack32#30
675# asm 2: movl <in3=%ebx,>x3=116(%esp)
676movl %ebx,116(%esp)
677
678# qhasm:   in4 = j4
679# asm 1: movl <j4=stack32#10,>in4=int32#1
680# asm 2: movl <j4=36(%esp),>in4=%eax
681movl 36(%esp),%eax
682
683# qhasm:   in5 = j5
684# asm 1: movl <j5=stack32#11,>in5=int32#2
685# asm 2: movl <j5=40(%esp),>in5=%ecx
686movl 40(%esp),%ecx
687
688# qhasm:   in6 = j6
689# asm 1: movl <j6=stack32#12,>in6=int32#3
690# asm 2: movl <j6=44(%esp),>in6=%edx
691movl 44(%esp),%edx
692
693# qhasm:   in7 = j7
694# asm 1: movl <j7=stack32#13,>in7=int32#4
695# asm 2: movl <j7=48(%esp),>in7=%ebx
696movl 48(%esp),%ebx
697
698# qhasm:   x4 = in4
699# asm 1: movl <in4=int32#1,>x4=stack32#31
700# asm 2: movl <in4=%eax,>x4=120(%esp)
701movl %eax,120(%esp)
702
703# qhasm:   x5 = in5
704# asm 1: movl <in5=int32#2,>x5=stack32#32
705# asm 2: movl <in5=%ecx,>x5=124(%esp)
706movl %ecx,124(%esp)
707
708# qhasm:   x6 = in6
709# asm 1: movl <in6=int32#3,>x6=stack32#33
710# asm 2: movl <in6=%edx,>x6=128(%esp)
711movl %edx,128(%esp)
712
713# qhasm:   x7 = in7
714# asm 1: movl <in7=int32#4,>x7=stack32#34
715# asm 2: movl <in7=%ebx,>x7=132(%esp)
716movl %ebx,132(%esp)
717
718# qhasm:   in8 = j8
719# asm 1: movl <j8=stack32#14,>in8=int32#1
720# asm 2: movl <j8=52(%esp),>in8=%eax
721movl 52(%esp),%eax
722
723# qhasm:   in9 = j9
724# asm 1: movl <j9=stack32#15,>in9=int32#2
725# asm 2: movl <j9=56(%esp),>in9=%ecx
726movl 56(%esp),%ecx
727
728# qhasm:   in10 = j10
729# asm 1: movl <j10=stack32#16,>in10=int32#3
730# asm 2: movl <j10=60(%esp),>in10=%edx
731movl 60(%esp),%edx
732
733# qhasm:   in11 = j11
734# asm 1: movl <j11=stack32#17,>in11=int32#4
735# asm 2: movl <j11=64(%esp),>in11=%ebx
736movl 64(%esp),%ebx
737
738# qhasm:   x8 = in8
739# asm 1: movl <in8=int32#1,>x8=stack32#35
740# asm 2: movl <in8=%eax,>x8=136(%esp)
741movl %eax,136(%esp)
742
743# qhasm:   x9 = in9
744# asm 1: movl <in9=int32#2,>x9=stack32#36
745# asm 2: movl <in9=%ecx,>x9=140(%esp)
746movl %ecx,140(%esp)
747
748# qhasm:   x10 = in10
749# asm 1: movl <in10=int32#3,>x10=stack32#37
750# asm 2: movl <in10=%edx,>x10=144(%esp)
751movl %edx,144(%esp)
752
753# qhasm:   x11 = in11
754# asm 1: movl <in11=int32#4,>x11=stack32#38
755# asm 2: movl <in11=%ebx,>x11=148(%esp)
756movl %ebx,148(%esp)
757
758# qhasm:   in12 = j12
759# asm 1: movl <j12=stack32#18,>in12=int32#1
760# asm 2: movl <j12=68(%esp),>in12=%eax
761movl 68(%esp),%eax
762
763# qhasm:   in13 = j13
764# asm 1: movl <j13=stack32#19,>in13=int32#2
765# asm 2: movl <j13=72(%esp),>in13=%ecx
766movl 72(%esp),%ecx
767
768# qhasm:   in14 = j14
769# asm 1: movl <j14=stack32#20,>in14=int32#3
770# asm 2: movl <j14=76(%esp),>in14=%edx
771movl 76(%esp),%edx
772
773# qhasm:   in15 = j15
774# asm 1: movl <j15=stack32#21,>in15=int32#4
775# asm 2: movl <j15=80(%esp),>in15=%ebx
776movl 80(%esp),%ebx
777
778# qhasm:   x12 = in12
779# asm 1: movl <in12=int32#1,>x12=stack32#39
780# asm 2: movl <in12=%eax,>x12=152(%esp)
781movl %eax,152(%esp)
782
783# qhasm:   x13 = in13
784# asm 1: movl <in13=int32#2,>x13=stack32#40
785# asm 2: movl <in13=%ecx,>x13=156(%esp)
786movl %ecx,156(%esp)
787
788# qhasm:   x14 = in14
789# asm 1: movl <in14=int32#3,>x14=stack32#41
790# asm 2: movl <in14=%edx,>x14=160(%esp)
791movl %edx,160(%esp)
792
793# qhasm:   x15 = in15
794# asm 1: movl <in15=int32#4,>x15=stack32#42
795# asm 2: movl <in15=%ebx,>x15=164(%esp)
796movl %ebx,164(%esp)
797
798# qhasm:   i = 20
799# asm 1: mov  $20,>i=int32#1
800# asm 2: mov  $20,>i=%eax
801mov  $20,%eax
802
803# qhasm: p = x0
804# asm 1: movl <x0=stack32#27,>p=int32#2
805# asm 2: movl <x0=104(%esp),>p=%ecx
806movl 104(%esp),%ecx
807
808# qhasm: s = x5
809# asm 1: movl <x5=stack32#32,>s=int32#3
810# asm 2: movl <x5=124(%esp),>s=%edx
811movl 124(%esp),%edx
812
813# qhasm: t = x10
814# asm 1: movl <x10=stack32#37,>t=int32#4
815# asm 2: movl <x10=144(%esp),>t=%ebx
816movl 144(%esp),%ebx
817
818# qhasm: w = x15
819# asm 1: movl <x15=stack32#42,>w=int32#5
820# asm 2: movl <x15=164(%esp),>w=%esi
821movl 164(%esp),%esi
822
823# qhasm: mainloop:
824._mainloop:
825
826# qhasm: x0 = p
827# asm 1: movl <p=int32#2,>x0=stack32#27
828# asm 2: movl <p=%ecx,>x0=104(%esp)
829movl %ecx,104(%esp)
830
831# qhasm: 				x10 = t
832# asm 1: movl <t=int32#4,>x10=stack32#32
833# asm 2: movl <t=%ebx,>x10=124(%esp)
834movl %ebx,124(%esp)
835
836# qhasm: p += x12
837# asm 1: addl <x12=stack32#39,<p=int32#2
838# asm 2: addl <x12=152(%esp),<p=%ecx
839addl 152(%esp),%ecx
840
841# qhasm: 		x5 = s
842# asm 1: movl <s=int32#3,>x5=stack32#37
843# asm 2: movl <s=%edx,>x5=144(%esp)
844movl %edx,144(%esp)
845
846# qhasm: 				t += x6
847# asm 1: addl <x6=stack32#33,<t=int32#4
848# asm 2: addl <x6=128(%esp),<t=%ebx
849addl 128(%esp),%ebx
850
851# qhasm: 						x15 = w
852# asm 1: movl <w=int32#5,>x15=stack32#42
853# asm 2: movl <w=%esi,>x15=164(%esp)
854movl %esi,164(%esp)
855
856# qhasm: 		r = x1
857# asm 1: movl <x1=stack32#28,>r=int32#6
858# asm 2: movl <x1=108(%esp),>r=%edi
859movl 108(%esp),%edi
860
861# qhasm: 		r += s
862# asm 1: addl <s=int32#3,<r=int32#6
863# asm 2: addl <s=%edx,<r=%edi
864addl %edx,%edi
865
866# qhasm: 						v = x11
867# asm 1: movl <x11=stack32#38,>v=int32#7
868# asm 2: movl <x11=148(%esp),>v=%ebp
869movl 148(%esp),%ebp
870
871# qhasm: 						v += w
872# asm 1: addl <w=int32#5,<v=int32#7
873# asm 2: addl <w=%esi,<v=%ebp
874addl %esi,%ebp
875
876# qhasm: p <<<= 7
877# asm 1: rol  $7,<p=int32#2
878# asm 2: rol  $7,<p=%ecx
879rol  $7,%ecx
880
881# qhasm: p ^= x4
882# asm 1: xorl <x4=stack32#31,<p=int32#2
883# asm 2: xorl <x4=120(%esp),<p=%ecx
884xorl 120(%esp),%ecx
885
886# qhasm: 				t <<<= 7
887# asm 1: rol  $7,<t=int32#4
888# asm 2: rol  $7,<t=%ebx
889rol  $7,%ebx
890
891# qhasm: 				t ^= x14
892# asm 1: xorl <x14=stack32#41,<t=int32#4
893# asm 2: xorl <x14=160(%esp),<t=%ebx
894xorl 160(%esp),%ebx
895
896# qhasm: 		r <<<= 7
897# asm 1: rol  $7,<r=int32#6
898# asm 2: rol  $7,<r=%edi
899rol  $7,%edi
900
901# qhasm: 		r ^= x9
902# asm 1: xorl <x9=stack32#36,<r=int32#6
903# asm 2: xorl <x9=140(%esp),<r=%edi
904xorl 140(%esp),%edi
905
906# qhasm: 						v <<<= 7
907# asm 1: rol  $7,<v=int32#7
908# asm 2: rol  $7,<v=%ebp
909rol  $7,%ebp
910
911# qhasm: 						v ^= x3
912# asm 1: xorl <x3=stack32#30,<v=int32#7
913# asm 2: xorl <x3=116(%esp),<v=%ebp
914xorl 116(%esp),%ebp
915
916# qhasm: x4 = p
917# asm 1: movl <p=int32#2,>x4=stack32#30
918# asm 2: movl <p=%ecx,>x4=116(%esp)
919movl %ecx,116(%esp)
920
921# qhasm: 				x14 = t
922# asm 1: movl <t=int32#4,>x14=stack32#31
923# asm 2: movl <t=%ebx,>x14=120(%esp)
924movl %ebx,120(%esp)
925
926# qhasm: p += x0
927# asm 1: addl <x0=stack32#27,<p=int32#2
928# asm 2: addl <x0=104(%esp),<p=%ecx
929addl 104(%esp),%ecx
930
931# qhasm: 		x9 = r
932# asm 1: movl <r=int32#6,>x9=stack32#36
933# asm 2: movl <r=%edi,>x9=140(%esp)
934movl %edi,140(%esp)
935
936# qhasm: 				t += x10
937# asm 1: addl <x10=stack32#32,<t=int32#4
938# asm 2: addl <x10=124(%esp),<t=%ebx
939addl 124(%esp),%ebx
940
941# qhasm: 						x3 = v
942# asm 1: movl <v=int32#7,>x3=stack32#41
943# asm 2: movl <v=%ebp,>x3=160(%esp)
944movl %ebp,160(%esp)
945
946# qhasm: p <<<= 9
947# asm 1: rol  $9,<p=int32#2
948# asm 2: rol  $9,<p=%ecx
949rol  $9,%ecx
950
951# qhasm: p ^= x8
952# asm 1: xorl <x8=stack32#35,<p=int32#2
953# asm 2: xorl <x8=136(%esp),<p=%ecx
954xorl 136(%esp),%ecx
955
956# qhasm: 				t <<<= 9
957# asm 1: rol  $9,<t=int32#4
958# asm 2: rol  $9,<t=%ebx
959rol  $9,%ebx
960
961# qhasm: 				t ^= x2
962# asm 1: xorl <x2=stack32#29,<t=int32#4
963# asm 2: xorl <x2=112(%esp),<t=%ebx
964xorl 112(%esp),%ebx
965
966# qhasm: 		s += r
967# asm 1: addl <r=int32#6,<s=int32#3
968# asm 2: addl <r=%edi,<s=%edx
969addl %edi,%edx
970
971# qhasm: 		s <<<= 9
972# asm 1: rol  $9,<s=int32#3
973# asm 2: rol  $9,<s=%edx
974rol  $9,%edx
975
976# qhasm: 		s ^= x13
977# asm 1: xorl <x13=stack32#40,<s=int32#3
978# asm 2: xorl <x13=156(%esp),<s=%edx
979xorl 156(%esp),%edx
980
981# qhasm: 						w += v
982# asm 1: addl <v=int32#7,<w=int32#5
983# asm 2: addl <v=%ebp,<w=%esi
984addl %ebp,%esi
985
986# qhasm: 						w <<<= 9
987# asm 1: rol  $9,<w=int32#5
988# asm 2: rol  $9,<w=%esi
989rol  $9,%esi
990
991# qhasm: 						w ^= x7
992# asm 1: xorl <x7=stack32#34,<w=int32#5
993# asm 2: xorl <x7=132(%esp),<w=%esi
994xorl 132(%esp),%esi
995
996# qhasm: x8 = p
997# asm 1: movl <p=int32#2,>x8=stack32#29
998# asm 2: movl <p=%ecx,>x8=112(%esp)
999movl %ecx,112(%esp)
1000
1001# qhasm: 				x2 = t
1002# asm 1: movl <t=int32#4,>x2=stack32#34
1003# asm 2: movl <t=%ebx,>x2=132(%esp)
1004movl %ebx,132(%esp)
1005
1006# qhasm: p += x4
1007# asm 1: addl <x4=stack32#30,<p=int32#2
1008# asm 2: addl <x4=116(%esp),<p=%ecx
1009addl 116(%esp),%ecx
1010
1011# qhasm: 		x13 = s
1012# asm 1: movl <s=int32#3,>x13=stack32#35
1013# asm 2: movl <s=%edx,>x13=136(%esp)
1014movl %edx,136(%esp)
1015
1016# qhasm: 				t += x14
1017# asm 1: addl <x14=stack32#31,<t=int32#4
1018# asm 2: addl <x14=120(%esp),<t=%ebx
1019addl 120(%esp),%ebx
1020
1021# qhasm: 						x7 = w
1022# asm 1: movl <w=int32#5,>x7=stack32#40
1023# asm 2: movl <w=%esi,>x7=156(%esp)
1024movl %esi,156(%esp)
1025
1026# qhasm: p <<<= 13
1027# asm 1: rol  $13,<p=int32#2
1028# asm 2: rol  $13,<p=%ecx
1029rol  $13,%ecx
1030
1031# qhasm: p ^= x12
1032# asm 1: xorl <x12=stack32#39,<p=int32#2
1033# asm 2: xorl <x12=152(%esp),<p=%ecx
1034xorl 152(%esp),%ecx
1035
1036# qhasm: 				t <<<= 13
1037# asm 1: rol  $13,<t=int32#4
1038# asm 2: rol  $13,<t=%ebx
1039rol  $13,%ebx
1040
1041# qhasm: 				t ^= x6
1042# asm 1: xorl <x6=stack32#33,<t=int32#4
1043# asm 2: xorl <x6=128(%esp),<t=%ebx
1044xorl 128(%esp),%ebx
1045
1046# qhasm: 		r += s
1047# asm 1: addl <s=int32#3,<r=int32#6
1048# asm 2: addl <s=%edx,<r=%edi
1049addl %edx,%edi
1050
1051# qhasm: 		r <<<= 13
1052# asm 1: rol  $13,<r=int32#6
1053# asm 2: rol  $13,<r=%edi
1054rol  $13,%edi
1055
1056# qhasm: 		r ^= x1
1057# asm 1: xorl <x1=stack32#28,<r=int32#6
1058# asm 2: xorl <x1=108(%esp),<r=%edi
1059xorl 108(%esp),%edi
1060
1061# qhasm: 						v += w
1062# asm 1: addl <w=int32#5,<v=int32#7
1063# asm 2: addl <w=%esi,<v=%ebp
1064addl %esi,%ebp
1065
1066# qhasm: 						v <<<= 13
1067# asm 1: rol  $13,<v=int32#7
1068# asm 2: rol  $13,<v=%ebp
1069rol  $13,%ebp
1070
1071# qhasm: 						v ^= x11
1072# asm 1: xorl <x11=stack32#38,<v=int32#7
1073# asm 2: xorl <x11=148(%esp),<v=%ebp
1074xorl 148(%esp),%ebp
1075
1076# qhasm: x12 = p
1077# asm 1: movl <p=int32#2,>x12=stack32#28
1078# asm 2: movl <p=%ecx,>x12=108(%esp)
1079movl %ecx,108(%esp)
1080
1081# qhasm: 				x6 = t
1082# asm 1: movl <t=int32#4,>x6=stack32#33
1083# asm 2: movl <t=%ebx,>x6=128(%esp)
1084movl %ebx,128(%esp)
1085
1086# qhasm: p += x8
1087# asm 1: addl <x8=stack32#29,<p=int32#2
1088# asm 2: addl <x8=112(%esp),<p=%ecx
1089addl 112(%esp),%ecx
1090
1091# qhasm: 		x1 = r
1092# asm 1: movl <r=int32#6,>x1=stack32#38
1093# asm 2: movl <r=%edi,>x1=148(%esp)
1094movl %edi,148(%esp)
1095
1096# qhasm: 				t += x2
1097# asm 1: addl <x2=stack32#34,<t=int32#4
1098# asm 2: addl <x2=132(%esp),<t=%ebx
1099addl 132(%esp),%ebx
1100
1101# qhasm: 						x11 = v
1102# asm 1: movl <v=int32#7,>x11=stack32#39
1103# asm 2: movl <v=%ebp,>x11=152(%esp)
1104movl %ebp,152(%esp)
1105
1106# qhasm: p <<<= 18
1107# asm 1: rol  $18,<p=int32#2
1108# asm 2: rol  $18,<p=%ecx
1109rol  $18,%ecx
1110
1111# qhasm: p ^= x0
1112# asm 1: xorl <x0=stack32#27,<p=int32#2
1113# asm 2: xorl <x0=104(%esp),<p=%ecx
1114xorl 104(%esp),%ecx
1115
1116# qhasm: 				t <<<= 18
1117# asm 1: rol  $18,<t=int32#4
1118# asm 2: rol  $18,<t=%ebx
1119rol  $18,%ebx
1120
1121# qhasm: 				t ^= x10
1122# asm 1: xorl <x10=stack32#32,<t=int32#4
1123# asm 2: xorl <x10=124(%esp),<t=%ebx
1124xorl 124(%esp),%ebx
1125
1126# qhasm: 		s += r
1127# asm 1: addl <r=int32#6,<s=int32#3
1128# asm 2: addl <r=%edi,<s=%edx
1129addl %edi,%edx
1130
1131# qhasm: 		s <<<= 18
1132# asm 1: rol  $18,<s=int32#3
1133# asm 2: rol  $18,<s=%edx
1134rol  $18,%edx
1135
1136# qhasm: 		s ^= x5
1137# asm 1: xorl <x5=stack32#37,<s=int32#3
1138# asm 2: xorl <x5=144(%esp),<s=%edx
1139xorl 144(%esp),%edx
1140
1141# qhasm: 						w += v
1142# asm 1: addl <v=int32#7,<w=int32#5
1143# asm 2: addl <v=%ebp,<w=%esi
1144addl %ebp,%esi
1145
1146# qhasm: 						w <<<= 18
1147# asm 1: rol  $18,<w=int32#5
1148# asm 2: rol  $18,<w=%esi
1149rol  $18,%esi
1150
1151# qhasm: 						w ^= x15
1152# asm 1: xorl <x15=stack32#42,<w=int32#5
1153# asm 2: xorl <x15=164(%esp),<w=%esi
1154xorl 164(%esp),%esi
1155
1156# qhasm: x0 = p
1157# asm 1: movl <p=int32#2,>x0=stack32#27
1158# asm 2: movl <p=%ecx,>x0=104(%esp)
1159movl %ecx,104(%esp)
1160
1161# qhasm: 				x10 = t
1162# asm 1: movl <t=int32#4,>x10=stack32#32
1163# asm 2: movl <t=%ebx,>x10=124(%esp)
1164movl %ebx,124(%esp)
1165
1166# qhasm: p += x3
1167# asm 1: addl <x3=stack32#41,<p=int32#2
1168# asm 2: addl <x3=160(%esp),<p=%ecx
1169addl 160(%esp),%ecx
1170
1171# qhasm: p <<<= 7
1172# asm 1: rol  $7,<p=int32#2
1173# asm 2: rol  $7,<p=%ecx
1174rol  $7,%ecx
1175
1176# qhasm: 		x5 = s
1177# asm 1: movl <s=int32#3,>x5=stack32#37
1178# asm 2: movl <s=%edx,>x5=144(%esp)
1179movl %edx,144(%esp)
1180
1181# qhasm: 				t += x9
1182# asm 1: addl <x9=stack32#36,<t=int32#4
1183# asm 2: addl <x9=140(%esp),<t=%ebx
1184addl 140(%esp),%ebx
1185
1186# qhasm: 						x15 = w
1187# asm 1: movl <w=int32#5,>x15=stack32#42
1188# asm 2: movl <w=%esi,>x15=164(%esp)
1189movl %esi,164(%esp)
1190
1191# qhasm: 		r = x4
1192# asm 1: movl <x4=stack32#30,>r=int32#6
1193# asm 2: movl <x4=116(%esp),>r=%edi
1194movl 116(%esp),%edi
1195
1196# qhasm: 		r += s
1197# asm 1: addl <s=int32#3,<r=int32#6
1198# asm 2: addl <s=%edx,<r=%edi
1199addl %edx,%edi
1200
1201# qhasm: 						v = x14
1202# asm 1: movl <x14=stack32#31,>v=int32#7
1203# asm 2: movl <x14=120(%esp),>v=%ebp
1204movl 120(%esp),%ebp
1205
1206# qhasm: 						v += w
1207# asm 1: addl <w=int32#5,<v=int32#7
1208# asm 2: addl <w=%esi,<v=%ebp
1209addl %esi,%ebp
1210
1211# qhasm: p ^= x1
1212# asm 1: xorl <x1=stack32#38,<p=int32#2
1213# asm 2: xorl <x1=148(%esp),<p=%ecx
1214xorl 148(%esp),%ecx
1215
1216# qhasm: 				t <<<= 7
1217# asm 1: rol  $7,<t=int32#4
1218# asm 2: rol  $7,<t=%ebx
1219rol  $7,%ebx
1220
1221# qhasm: 				t ^= x11
1222# asm 1: xorl <x11=stack32#39,<t=int32#4
1223# asm 2: xorl <x11=152(%esp),<t=%ebx
1224xorl 152(%esp),%ebx
1225
1226# qhasm: 		r <<<= 7
1227# asm 1: rol  $7,<r=int32#6
1228# asm 2: rol  $7,<r=%edi
1229rol  $7,%edi
1230
1231# qhasm: 		r ^= x6
1232# asm 1: xorl <x6=stack32#33,<r=int32#6
1233# asm 2: xorl <x6=128(%esp),<r=%edi
1234xorl 128(%esp),%edi
1235
1236# qhasm: 						v <<<= 7
1237# asm 1: rol  $7,<v=int32#7
1238# asm 2: rol  $7,<v=%ebp
1239rol  $7,%ebp
1240
1241# qhasm: 						v ^= x12
1242# asm 1: xorl <x12=stack32#28,<v=int32#7
1243# asm 2: xorl <x12=108(%esp),<v=%ebp
1244xorl 108(%esp),%ebp
1245
1246# qhasm: x1 = p
1247# asm 1: movl <p=int32#2,>x1=stack32#28
1248# asm 2: movl <p=%ecx,>x1=108(%esp)
1249movl %ecx,108(%esp)
1250
1251# qhasm: 				x11 = t
1252# asm 1: movl <t=int32#4,>x11=stack32#33
1253# asm 2: movl <t=%ebx,>x11=128(%esp)
1254movl %ebx,128(%esp)
1255
1256# qhasm: p += x0
1257# asm 1: addl <x0=stack32#27,<p=int32#2
1258# asm 2: addl <x0=104(%esp),<p=%ecx
1259addl 104(%esp),%ecx
1260
1261# qhasm: 		x6 = r
1262# asm 1: movl <r=int32#6,>x6=stack32#38
1263# asm 2: movl <r=%edi,>x6=148(%esp)
1264movl %edi,148(%esp)
1265
1266# qhasm: 				t += x10
1267# asm 1: addl <x10=stack32#32,<t=int32#4
1268# asm 2: addl <x10=124(%esp),<t=%ebx
1269addl 124(%esp),%ebx
1270
1271# qhasm: 						x12 = v
1272# asm 1: movl <v=int32#7,>x12=stack32#39
1273# asm 2: movl <v=%ebp,>x12=152(%esp)
1274movl %ebp,152(%esp)
1275
1276# qhasm: p <<<= 9
1277# asm 1: rol  $9,<p=int32#2
1278# asm 2: rol  $9,<p=%ecx
1279rol  $9,%ecx
1280
1281# qhasm: p ^= x2
1282# asm 1: xorl <x2=stack32#34,<p=int32#2
1283# asm 2: xorl <x2=132(%esp),<p=%ecx
1284xorl 132(%esp),%ecx
1285
1286# qhasm: 				t <<<= 9
1287# asm 1: rol  $9,<t=int32#4
1288# asm 2: rol  $9,<t=%ebx
1289rol  $9,%ebx
1290
1291# qhasm: 				t ^= x8
1292# asm 1: xorl <x8=stack32#29,<t=int32#4
1293# asm 2: xorl <x8=112(%esp),<t=%ebx
1294xorl 112(%esp),%ebx
1295
1296# qhasm: 		s += r
1297# asm 1: addl <r=int32#6,<s=int32#3
1298# asm 2: addl <r=%edi,<s=%edx
1299addl %edi,%edx
1300
1301# qhasm: 		s <<<= 9
1302# asm 1: rol  $9,<s=int32#3
1303# asm 2: rol  $9,<s=%edx
1304rol  $9,%edx
1305
1306# qhasm: 		s ^= x7
1307# asm 1: xorl <x7=stack32#40,<s=int32#3
1308# asm 2: xorl <x7=156(%esp),<s=%edx
1309xorl 156(%esp),%edx
1310
1311# qhasm: 						w += v
1312# asm 1: addl <v=int32#7,<w=int32#5
1313# asm 2: addl <v=%ebp,<w=%esi
1314addl %ebp,%esi
1315
1316# qhasm: 						w <<<= 9
1317# asm 1: rol  $9,<w=int32#5
1318# asm 2: rol  $9,<w=%esi
1319rol  $9,%esi
1320
1321# qhasm: 						w ^= x13
1322# asm 1: xorl <x13=stack32#35,<w=int32#5
1323# asm 2: xorl <x13=136(%esp),<w=%esi
1324xorl 136(%esp),%esi
1325
1326# qhasm: x2 = p
1327# asm 1: movl <p=int32#2,>x2=stack32#29
1328# asm 2: movl <p=%ecx,>x2=112(%esp)
1329movl %ecx,112(%esp)
1330
1331# qhasm: 				x8 = t
1332# asm 1: movl <t=int32#4,>x8=stack32#34
1333# asm 2: movl <t=%ebx,>x8=132(%esp)
1334movl %ebx,132(%esp)
1335
1336# qhasm: p += x1
1337# asm 1: addl <x1=stack32#28,<p=int32#2
1338# asm 2: addl <x1=108(%esp),<p=%ecx
1339addl 108(%esp),%ecx
1340
1341# qhasm: 		x7 = s
1342# asm 1: movl <s=int32#3,>x7=stack32#35
1343# asm 2: movl <s=%edx,>x7=136(%esp)
1344movl %edx,136(%esp)
1345
1346# qhasm: 				t += x11
1347# asm 1: addl <x11=stack32#33,<t=int32#4
1348# asm 2: addl <x11=128(%esp),<t=%ebx
1349addl 128(%esp),%ebx
1350
1351# qhasm: 						x13 = w
1352# asm 1: movl <w=int32#5,>x13=stack32#40
1353# asm 2: movl <w=%esi,>x13=156(%esp)
1354movl %esi,156(%esp)
1355
1356# qhasm: p <<<= 13
1357# asm 1: rol  $13,<p=int32#2
1358# asm 2: rol  $13,<p=%ecx
1359rol  $13,%ecx
1360
1361# qhasm: p ^= x3
1362# asm 1: xorl <x3=stack32#41,<p=int32#2
1363# asm 2: xorl <x3=160(%esp),<p=%ecx
1364xorl 160(%esp),%ecx
1365
1366# qhasm: 				t <<<= 13
1367# asm 1: rol  $13,<t=int32#4
1368# asm 2: rol  $13,<t=%ebx
1369rol  $13,%ebx
1370
1371# qhasm: 				t ^= x9
1372# asm 1: xorl <x9=stack32#36,<t=int32#4
1373# asm 2: xorl <x9=140(%esp),<t=%ebx
1374xorl 140(%esp),%ebx
1375
1376# qhasm: 		r += s
1377# asm 1: addl <s=int32#3,<r=int32#6
1378# asm 2: addl <s=%edx,<r=%edi
1379addl %edx,%edi
1380
1381# qhasm: 		r <<<= 13
1382# asm 1: rol  $13,<r=int32#6
1383# asm 2: rol  $13,<r=%edi
1384rol  $13,%edi
1385
1386# qhasm: 		r ^= x4
1387# asm 1: xorl <x4=stack32#30,<r=int32#6
1388# asm 2: xorl <x4=116(%esp),<r=%edi
1389xorl 116(%esp),%edi
1390
1391# qhasm: 						v += w
1392# asm 1: addl <w=int32#5,<v=int32#7
1393# asm 2: addl <w=%esi,<v=%ebp
1394addl %esi,%ebp
1395
1396# qhasm: 						v <<<= 13
1397# asm 1: rol  $13,<v=int32#7
1398# asm 2: rol  $13,<v=%ebp
1399rol  $13,%ebp
1400
1401# qhasm: 						v ^= x14
1402# asm 1: xorl <x14=stack32#31,<v=int32#7
1403# asm 2: xorl <x14=120(%esp),<v=%ebp
1404xorl 120(%esp),%ebp
1405
1406# qhasm: x3 = p
1407# asm 1: movl <p=int32#2,>x3=stack32#30
1408# asm 2: movl <p=%ecx,>x3=116(%esp)
1409movl %ecx,116(%esp)
1410
1411# qhasm: 				x9 = t
1412# asm 1: movl <t=int32#4,>x9=stack32#31
1413# asm 2: movl <t=%ebx,>x9=120(%esp)
1414movl %ebx,120(%esp)
1415
1416# qhasm: p += x2
1417# asm 1: addl <x2=stack32#29,<p=int32#2
1418# asm 2: addl <x2=112(%esp),<p=%ecx
1419addl 112(%esp),%ecx
1420
1421# qhasm: 		x4 = r
1422# asm 1: movl <r=int32#6,>x4=stack32#36
1423# asm 2: movl <r=%edi,>x4=140(%esp)
1424movl %edi,140(%esp)
1425
1426# qhasm: 				t += x8
1427# asm 1: addl <x8=stack32#34,<t=int32#4
1428# asm 2: addl <x8=132(%esp),<t=%ebx
1429addl 132(%esp),%ebx
1430
1431# qhasm: 						x14 = v
1432# asm 1: movl <v=int32#7,>x14=stack32#41
1433# asm 2: movl <v=%ebp,>x14=160(%esp)
1434movl %ebp,160(%esp)
1435
1436# qhasm: p <<<= 18
1437# asm 1: rol  $18,<p=int32#2
1438# asm 2: rol  $18,<p=%ecx
1439rol  $18,%ecx
1440
1441# qhasm: p ^= x0
1442# asm 1: xorl <x0=stack32#27,<p=int32#2
1443# asm 2: xorl <x0=104(%esp),<p=%ecx
1444xorl 104(%esp),%ecx
1445
1446# qhasm: 				t <<<= 18
1447# asm 1: rol  $18,<t=int32#4
1448# asm 2: rol  $18,<t=%ebx
1449rol  $18,%ebx
1450
1451# qhasm: 				t ^= x10
1452# asm 1: xorl <x10=stack32#32,<t=int32#4
1453# asm 2: xorl <x10=124(%esp),<t=%ebx
1454xorl 124(%esp),%ebx
1455
1456# qhasm: 		s += r
1457# asm 1: addl <r=int32#6,<s=int32#3
1458# asm 2: addl <r=%edi,<s=%edx
1459addl %edi,%edx
1460
1461# qhasm: 		s <<<= 18
1462# asm 1: rol  $18,<s=int32#3
1463# asm 2: rol  $18,<s=%edx
1464rol  $18,%edx
1465
1466# qhasm: 		s ^= x5
1467# asm 1: xorl <x5=stack32#37,<s=int32#3
1468# asm 2: xorl <x5=144(%esp),<s=%edx
1469xorl 144(%esp),%edx
1470
1471# qhasm: 						w += v
1472# asm 1: addl <v=int32#7,<w=int32#5
1473# asm 2: addl <v=%ebp,<w=%esi
1474addl %ebp,%esi
1475
1476# qhasm: 						w <<<= 18
1477# asm 1: rol  $18,<w=int32#5
1478# asm 2: rol  $18,<w=%esi
1479rol  $18,%esi
1480
1481# qhasm: 						w ^= x15
1482# asm 1: xorl <x15=stack32#42,<w=int32#5
1483# asm 2: xorl <x15=164(%esp),<w=%esi
1484xorl 164(%esp),%esi
1485
1486# qhasm: x0 = p
1487# asm 1: movl <p=int32#2,>x0=stack32#27
1488# asm 2: movl <p=%ecx,>x0=104(%esp)
1489movl %ecx,104(%esp)
1490
1491# qhasm: 				x10 = t
1492# asm 1: movl <t=int32#4,>x10=stack32#32
1493# asm 2: movl <t=%ebx,>x10=124(%esp)
1494movl %ebx,124(%esp)
1495
1496# qhasm: p += x12
1497# asm 1: addl <x12=stack32#39,<p=int32#2
1498# asm 2: addl <x12=152(%esp),<p=%ecx
1499addl 152(%esp),%ecx
1500
1501# qhasm: 		x5 = s
1502# asm 1: movl <s=int32#3,>x5=stack32#37
1503# asm 2: movl <s=%edx,>x5=144(%esp)
1504movl %edx,144(%esp)
1505
1506# qhasm: 				t += x6
1507# asm 1: addl <x6=stack32#38,<t=int32#4
1508# asm 2: addl <x6=148(%esp),<t=%ebx
1509addl 148(%esp),%ebx
1510
1511# qhasm: 						x15 = w
1512# asm 1: movl <w=int32#5,>x15=stack32#42
1513# asm 2: movl <w=%esi,>x15=164(%esp)
1514movl %esi,164(%esp)
1515
1516# qhasm: 		r = x1
1517# asm 1: movl <x1=stack32#28,>r=int32#6
1518# asm 2: movl <x1=108(%esp),>r=%edi
1519movl 108(%esp),%edi
1520
1521# qhasm: 		r += s
1522# asm 1: addl <s=int32#3,<r=int32#6
1523# asm 2: addl <s=%edx,<r=%edi
1524addl %edx,%edi
1525
1526# qhasm: 						v = x11
1527# asm 1: movl <x11=stack32#33,>v=int32#7
1528# asm 2: movl <x11=128(%esp),>v=%ebp
1529movl 128(%esp),%ebp
1530
1531# qhasm: 						v += w
1532# asm 1: addl <w=int32#5,<v=int32#7
1533# asm 2: addl <w=%esi,<v=%ebp
1534addl %esi,%ebp
1535
1536# qhasm: p <<<= 7
1537# asm 1: rol  $7,<p=int32#2
1538# asm 2: rol  $7,<p=%ecx
1539rol  $7,%ecx
1540
1541# qhasm: p ^= x4
1542# asm 1: xorl <x4=stack32#36,<p=int32#2
1543# asm 2: xorl <x4=140(%esp),<p=%ecx
1544xorl 140(%esp),%ecx
1545
1546# qhasm: 				t <<<= 7
1547# asm 1: rol  $7,<t=int32#4
1548# asm 2: rol  $7,<t=%ebx
1549rol  $7,%ebx
1550
1551# qhasm: 				t ^= x14
1552# asm 1: xorl <x14=stack32#41,<t=int32#4
1553# asm 2: xorl <x14=160(%esp),<t=%ebx
1554xorl 160(%esp),%ebx
1555
1556# qhasm: 		r <<<= 7
1557# asm 1: rol  $7,<r=int32#6
1558# asm 2: rol  $7,<r=%edi
1559rol  $7,%edi
1560
1561# qhasm: 		r ^= x9
1562# asm 1: xorl <x9=stack32#31,<r=int32#6
1563# asm 2: xorl <x9=120(%esp),<r=%edi
1564xorl 120(%esp),%edi
1565
1566# qhasm: 						v <<<= 7
1567# asm 1: rol  $7,<v=int32#7
1568# asm 2: rol  $7,<v=%ebp
1569rol  $7,%ebp
1570
1571# qhasm: 						v ^= x3
1572# asm 1: xorl <x3=stack32#30,<v=int32#7
1573# asm 2: xorl <x3=116(%esp),<v=%ebp
1574xorl 116(%esp),%ebp
1575
1576# qhasm: x4 = p
1577# asm 1: movl <p=int32#2,>x4=stack32#30
1578# asm 2: movl <p=%ecx,>x4=116(%esp)
1579movl %ecx,116(%esp)
1580
1581# qhasm: 				x14 = t
1582# asm 1: movl <t=int32#4,>x14=stack32#31
1583# asm 2: movl <t=%ebx,>x14=120(%esp)
1584movl %ebx,120(%esp)
1585
1586# qhasm: p += x0
1587# asm 1: addl <x0=stack32#27,<p=int32#2
1588# asm 2: addl <x0=104(%esp),<p=%ecx
1589addl 104(%esp),%ecx
1590
1591# qhasm: 		x9 = r
1592# asm 1: movl <r=int32#6,>x9=stack32#36
1593# asm 2: movl <r=%edi,>x9=140(%esp)
1594movl %edi,140(%esp)
1595
1596# qhasm: 				t += x10
1597# asm 1: addl <x10=stack32#32,<t=int32#4
1598# asm 2: addl <x10=124(%esp),<t=%ebx
1599addl 124(%esp),%ebx
1600
1601# qhasm: 						x3 = v
1602# asm 1: movl <v=int32#7,>x3=stack32#41
1603# asm 2: movl <v=%ebp,>x3=160(%esp)
1604movl %ebp,160(%esp)
1605
1606# qhasm: p <<<= 9
1607# asm 1: rol  $9,<p=int32#2
1608# asm 2: rol  $9,<p=%ecx
1609rol  $9,%ecx
1610
1611# qhasm: p ^= x8
1612# asm 1: xorl <x8=stack32#34,<p=int32#2
1613# asm 2: xorl <x8=132(%esp),<p=%ecx
1614xorl 132(%esp),%ecx
1615
1616# qhasm: 				t <<<= 9
1617# asm 1: rol  $9,<t=int32#4
1618# asm 2: rol  $9,<t=%ebx
1619rol  $9,%ebx
1620
1621# qhasm: 				t ^= x2
1622# asm 1: xorl <x2=stack32#29,<t=int32#4
1623# asm 2: xorl <x2=112(%esp),<t=%ebx
1624xorl 112(%esp),%ebx
1625
1626# qhasm: 		s += r
1627# asm 1: addl <r=int32#6,<s=int32#3
1628# asm 2: addl <r=%edi,<s=%edx
1629addl %edi,%edx
1630
1631# qhasm: 		s <<<= 9
1632# asm 1: rol  $9,<s=int32#3
1633# asm 2: rol  $9,<s=%edx
1634rol  $9,%edx
1635
1636# qhasm: 		s ^= x13
1637# asm 1: xorl <x13=stack32#40,<s=int32#3
1638# asm 2: xorl <x13=156(%esp),<s=%edx
1639xorl 156(%esp),%edx
1640
1641# qhasm: 						w += v
1642# asm 1: addl <v=int32#7,<w=int32#5
1643# asm 2: addl <v=%ebp,<w=%esi
1644addl %ebp,%esi
1645
1646# qhasm: 						w <<<= 9
1647# asm 1: rol  $9,<w=int32#5
1648# asm 2: rol  $9,<w=%esi
1649rol  $9,%esi
1650
1651# qhasm: 						w ^= x7
1652# asm 1: xorl <x7=stack32#35,<w=int32#5
1653# asm 2: xorl <x7=136(%esp),<w=%esi
1654xorl 136(%esp),%esi
1655
1656# qhasm: x8 = p
1657# asm 1: movl <p=int32#2,>x8=stack32#29
1658# asm 2: movl <p=%ecx,>x8=112(%esp)
1659movl %ecx,112(%esp)
1660
1661# qhasm: 				x2 = t
1662# asm 1: movl <t=int32#4,>x2=stack32#34
1663# asm 2: movl <t=%ebx,>x2=132(%esp)
1664movl %ebx,132(%esp)
1665
1666# qhasm: p += x4
1667# asm 1: addl <x4=stack32#30,<p=int32#2
1668# asm 2: addl <x4=116(%esp),<p=%ecx
1669addl 116(%esp),%ecx
1670
1671# qhasm: 		x13 = s
1672# asm 1: movl <s=int32#3,>x13=stack32#35
1673# asm 2: movl <s=%edx,>x13=136(%esp)
1674movl %edx,136(%esp)
1675
1676# qhasm: 				t += x14
1677# asm 1: addl <x14=stack32#31,<t=int32#4
1678# asm 2: addl <x14=120(%esp),<t=%ebx
1679addl 120(%esp),%ebx
1680
1681# qhasm: 						x7 = w
1682# asm 1: movl <w=int32#5,>x7=stack32#40
1683# asm 2: movl <w=%esi,>x7=156(%esp)
1684movl %esi,156(%esp)
1685
1686# qhasm: p <<<= 13
1687# asm 1: rol  $13,<p=int32#2
1688# asm 2: rol  $13,<p=%ecx
1689rol  $13,%ecx
1690
1691# qhasm: p ^= x12
1692# asm 1: xorl <x12=stack32#39,<p=int32#2
1693# asm 2: xorl <x12=152(%esp),<p=%ecx
1694xorl 152(%esp),%ecx
1695
1696# qhasm: 				t <<<= 13
1697# asm 1: rol  $13,<t=int32#4
1698# asm 2: rol  $13,<t=%ebx
1699rol  $13,%ebx
1700
1701# qhasm: 				t ^= x6
1702# asm 1: xorl <x6=stack32#38,<t=int32#4
1703# asm 2: xorl <x6=148(%esp),<t=%ebx
1704xorl 148(%esp),%ebx
1705
1706# qhasm: 		r += s
1707# asm 1: addl <s=int32#3,<r=int32#6
1708# asm 2: addl <s=%edx,<r=%edi
1709addl %edx,%edi
1710
1711# qhasm: 		r <<<= 13
1712# asm 1: rol  $13,<r=int32#6
1713# asm 2: rol  $13,<r=%edi
1714rol  $13,%edi
1715
1716# qhasm: 		r ^= x1
1717# asm 1: xorl <x1=stack32#28,<r=int32#6
1718# asm 2: xorl <x1=108(%esp),<r=%edi
1719xorl 108(%esp),%edi
1720
1721# qhasm: 						v += w
1722# asm 1: addl <w=int32#5,<v=int32#7
1723# asm 2: addl <w=%esi,<v=%ebp
1724addl %esi,%ebp
1725
1726# qhasm: 						v <<<= 13
1727# asm 1: rol  $13,<v=int32#7
1728# asm 2: rol  $13,<v=%ebp
1729rol  $13,%ebp
1730
1731# qhasm: 						v ^= x11
1732# asm 1: xorl <x11=stack32#33,<v=int32#7
1733# asm 2: xorl <x11=128(%esp),<v=%ebp
1734xorl 128(%esp),%ebp
1735
1736# qhasm: x12 = p
1737# asm 1: movl <p=int32#2,>x12=stack32#28
1738# asm 2: movl <p=%ecx,>x12=108(%esp)
1739movl %ecx,108(%esp)
1740
1741# qhasm: 				x6 = t
1742# asm 1: movl <t=int32#4,>x6=stack32#33
1743# asm 2: movl <t=%ebx,>x6=128(%esp)
1744movl %ebx,128(%esp)
1745
1746# qhasm: p += x8
1747# asm 1: addl <x8=stack32#29,<p=int32#2
1748# asm 2: addl <x8=112(%esp),<p=%ecx
1749addl 112(%esp),%ecx
1750
1751# qhasm: 		x1 = r
1752# asm 1: movl <r=int32#6,>x1=stack32#38
1753# asm 2: movl <r=%edi,>x1=148(%esp)
1754movl %edi,148(%esp)
1755
1756# qhasm: 				t += x2
1757# asm 1: addl <x2=stack32#34,<t=int32#4
1758# asm 2: addl <x2=132(%esp),<t=%ebx
1759addl 132(%esp),%ebx
1760
1761# qhasm: 						x11 = v
1762# asm 1: movl <v=int32#7,>x11=stack32#39
1763# asm 2: movl <v=%ebp,>x11=152(%esp)
1764movl %ebp,152(%esp)
1765
1766# qhasm: p <<<= 18
1767# asm 1: rol  $18,<p=int32#2
1768# asm 2: rol  $18,<p=%ecx
1769rol  $18,%ecx
1770
1771# qhasm: p ^= x0
1772# asm 1: xorl <x0=stack32#27,<p=int32#2
1773# asm 2: xorl <x0=104(%esp),<p=%ecx
1774xorl 104(%esp),%ecx
1775
1776# qhasm: 				t <<<= 18
1777# asm 1: rol  $18,<t=int32#4
1778# asm 2: rol  $18,<t=%ebx
1779rol  $18,%ebx
1780
1781# qhasm: 				t ^= x10
1782# asm 1: xorl <x10=stack32#32,<t=int32#4
1783# asm 2: xorl <x10=124(%esp),<t=%ebx
1784xorl 124(%esp),%ebx
1785
1786# qhasm: 		s += r
1787# asm 1: addl <r=int32#6,<s=int32#3
1788# asm 2: addl <r=%edi,<s=%edx
1789addl %edi,%edx
1790
1791# qhasm: 		s <<<= 18
1792# asm 1: rol  $18,<s=int32#3
1793# asm 2: rol  $18,<s=%edx
1794rol  $18,%edx
1795
1796# qhasm: 		s ^= x5
1797# asm 1: xorl <x5=stack32#37,<s=int32#3
1798# asm 2: xorl <x5=144(%esp),<s=%edx
1799xorl 144(%esp),%edx
1800
1801# qhasm: 						w += v
1802# asm 1: addl <v=int32#7,<w=int32#5
1803# asm 2: addl <v=%ebp,<w=%esi
1804addl %ebp,%esi
1805
1806# qhasm: 						w <<<= 18
1807# asm 1: rol  $18,<w=int32#5
1808# asm 2: rol  $18,<w=%esi
1809rol  $18,%esi
1810
1811# qhasm: 						w ^= x15
1812# asm 1: xorl <x15=stack32#42,<w=int32#5
1813# asm 2: xorl <x15=164(%esp),<w=%esi
1814xorl 164(%esp),%esi
1815
1816# qhasm: x0 = p
1817# asm 1: movl <p=int32#2,>x0=stack32#27
1818# asm 2: movl <p=%ecx,>x0=104(%esp)
1819movl %ecx,104(%esp)
1820
1821# qhasm: 				x10 = t
1822# asm 1: movl <t=int32#4,>x10=stack32#32
1823# asm 2: movl <t=%ebx,>x10=124(%esp)
1824movl %ebx,124(%esp)
1825
1826# qhasm: p += x3
1827# asm 1: addl <x3=stack32#41,<p=int32#2
1828# asm 2: addl <x3=160(%esp),<p=%ecx
1829addl 160(%esp),%ecx
1830
1831# qhasm: p <<<= 7
1832# asm 1: rol  $7,<p=int32#2
1833# asm 2: rol  $7,<p=%ecx
1834rol  $7,%ecx
1835
1836# qhasm: 		x5 = s
1837# asm 1: movl <s=int32#3,>x5=stack32#37
1838# asm 2: movl <s=%edx,>x5=144(%esp)
1839movl %edx,144(%esp)
1840
1841# qhasm: 				t += x9
1842# asm 1: addl <x9=stack32#36,<t=int32#4
1843# asm 2: addl <x9=140(%esp),<t=%ebx
1844addl 140(%esp),%ebx
1845
1846# qhasm: 						x15 = w
1847# asm 1: movl <w=int32#5,>x15=stack32#42
1848# asm 2: movl <w=%esi,>x15=164(%esp)
1849movl %esi,164(%esp)
1850
1851# qhasm: 		r = x4
1852# asm 1: movl <x4=stack32#30,>r=int32#6
1853# asm 2: movl <x4=116(%esp),>r=%edi
1854movl 116(%esp),%edi
1855
1856# qhasm: 		r += s
1857# asm 1: addl <s=int32#3,<r=int32#6
1858# asm 2: addl <s=%edx,<r=%edi
1859addl %edx,%edi
1860
1861# qhasm: 						v = x14
1862# asm 1: movl <x14=stack32#31,>v=int32#7
1863# asm 2: movl <x14=120(%esp),>v=%ebp
1864movl 120(%esp),%ebp
1865
1866# qhasm: 						v += w
1867# asm 1: addl <w=int32#5,<v=int32#7
1868# asm 2: addl <w=%esi,<v=%ebp
1869addl %esi,%ebp
1870
1871# qhasm: p ^= x1
1872# asm 1: xorl <x1=stack32#38,<p=int32#2
1873# asm 2: xorl <x1=148(%esp),<p=%ecx
1874xorl 148(%esp),%ecx
1875
1876# qhasm: 				t <<<= 7
1877# asm 1: rol  $7,<t=int32#4
1878# asm 2: rol  $7,<t=%ebx
1879rol  $7,%ebx
1880
1881# qhasm: 				t ^= x11
1882# asm 1: xorl <x11=stack32#39,<t=int32#4
1883# asm 2: xorl <x11=152(%esp),<t=%ebx
1884xorl 152(%esp),%ebx
1885
1886# qhasm: 		r <<<= 7
1887# asm 1: rol  $7,<r=int32#6
1888# asm 2: rol  $7,<r=%edi
1889rol  $7,%edi
1890
1891# qhasm: 		r ^= x6
1892# asm 1: xorl <x6=stack32#33,<r=int32#6
1893# asm 2: xorl <x6=128(%esp),<r=%edi
1894xorl 128(%esp),%edi
1895
1896# qhasm: 						v <<<= 7
1897# asm 1: rol  $7,<v=int32#7
1898# asm 2: rol  $7,<v=%ebp
1899rol  $7,%ebp
1900
1901# qhasm: 						v ^= x12
1902# asm 1: xorl <x12=stack32#28,<v=int32#7
1903# asm 2: xorl <x12=108(%esp),<v=%ebp
1904xorl 108(%esp),%ebp
1905
1906# qhasm: x1 = p
1907# asm 1: movl <p=int32#2,>x1=stack32#28
1908# asm 2: movl <p=%ecx,>x1=108(%esp)
1909movl %ecx,108(%esp)
1910
1911# qhasm: 				x11 = t
1912# asm 1: movl <t=int32#4,>x11=stack32#38
1913# asm 2: movl <t=%ebx,>x11=148(%esp)
1914movl %ebx,148(%esp)
1915
1916# qhasm: p += x0
1917# asm 1: addl <x0=stack32#27,<p=int32#2
1918# asm 2: addl <x0=104(%esp),<p=%ecx
1919addl 104(%esp),%ecx
1920
1921# qhasm: 		x6 = r
1922# asm 1: movl <r=int32#6,>x6=stack32#33
1923# asm 2: movl <r=%edi,>x6=128(%esp)
1924movl %edi,128(%esp)
1925
1926# qhasm: 				t += x10
1927# asm 1: addl <x10=stack32#32,<t=int32#4
1928# asm 2: addl <x10=124(%esp),<t=%ebx
1929addl 124(%esp),%ebx
1930
1931# qhasm: 						x12 = v
1932# asm 1: movl <v=int32#7,>x12=stack32#39
1933# asm 2: movl <v=%ebp,>x12=152(%esp)
1934movl %ebp,152(%esp)
1935
1936# qhasm: p <<<= 9
1937# asm 1: rol  $9,<p=int32#2
1938# asm 2: rol  $9,<p=%ecx
1939rol  $9,%ecx
1940
1941# qhasm: p ^= x2
1942# asm 1: xorl <x2=stack32#34,<p=int32#2
1943# asm 2: xorl <x2=132(%esp),<p=%ecx
1944xorl 132(%esp),%ecx
1945
1946# qhasm: 				t <<<= 9
1947# asm 1: rol  $9,<t=int32#4
1948# asm 2: rol  $9,<t=%ebx
1949rol  $9,%ebx
1950
1951# qhasm: 				t ^= x8
1952# asm 1: xorl <x8=stack32#29,<t=int32#4
1953# asm 2: xorl <x8=112(%esp),<t=%ebx
1954xorl 112(%esp),%ebx
1955
1956# qhasm: 		s += r
1957# asm 1: addl <r=int32#6,<s=int32#3
1958# asm 2: addl <r=%edi,<s=%edx
1959addl %edi,%edx
1960
1961# qhasm: 		s <<<= 9
1962# asm 1: rol  $9,<s=int32#3
1963# asm 2: rol  $9,<s=%edx
1964rol  $9,%edx
1965
1966# qhasm: 		s ^= x7
1967# asm 1: xorl <x7=stack32#40,<s=int32#3
1968# asm 2: xorl <x7=156(%esp),<s=%edx
1969xorl 156(%esp),%edx
1970
1971# qhasm: 						w += v
1972# asm 1: addl <v=int32#7,<w=int32#5
1973# asm 2: addl <v=%ebp,<w=%esi
1974addl %ebp,%esi
1975
1976# qhasm: 						w <<<= 9
1977# asm 1: rol  $9,<w=int32#5
1978# asm 2: rol  $9,<w=%esi
1979rol  $9,%esi
1980
1981# qhasm: 						w ^= x13
1982# asm 1: xorl <x13=stack32#35,<w=int32#5
1983# asm 2: xorl <x13=136(%esp),<w=%esi
1984xorl 136(%esp),%esi
1985
1986# qhasm: x2 = p
1987# asm 1: movl <p=int32#2,>x2=stack32#29
1988# asm 2: movl <p=%ecx,>x2=112(%esp)
1989movl %ecx,112(%esp)
1990
1991# qhasm: 				x8 = t
1992# asm 1: movl <t=int32#4,>x8=stack32#35
1993# asm 2: movl <t=%ebx,>x8=136(%esp)
1994movl %ebx,136(%esp)
1995
1996# qhasm: p += x1
1997# asm 1: addl <x1=stack32#28,<p=int32#2
1998# asm 2: addl <x1=108(%esp),<p=%ecx
1999addl 108(%esp),%ecx
2000
2001# qhasm: 		x7 = s
2002# asm 1: movl <s=int32#3,>x7=stack32#34
2003# asm 2: movl <s=%edx,>x7=132(%esp)
2004movl %edx,132(%esp)
2005
2006# qhasm: 				t += x11
2007# asm 1: addl <x11=stack32#38,<t=int32#4
2008# asm 2: addl <x11=148(%esp),<t=%ebx
2009addl 148(%esp),%ebx
2010
2011# qhasm: 						x13 = w
2012# asm 1: movl <w=int32#5,>x13=stack32#40
2013# asm 2: movl <w=%esi,>x13=156(%esp)
2014movl %esi,156(%esp)
2015
2016# qhasm: p <<<= 13
2017# asm 1: rol  $13,<p=int32#2
2018# asm 2: rol  $13,<p=%ecx
2019rol  $13,%ecx
2020
2021# qhasm: p ^= x3
2022# asm 1: xorl <x3=stack32#41,<p=int32#2
2023# asm 2: xorl <x3=160(%esp),<p=%ecx
2024xorl 160(%esp),%ecx
2025
2026# qhasm: 				t <<<= 13
2027# asm 1: rol  $13,<t=int32#4
2028# asm 2: rol  $13,<t=%ebx
2029rol  $13,%ebx
2030
2031# qhasm: 				t ^= x9
2032# asm 1: xorl <x9=stack32#36,<t=int32#4
2033# asm 2: xorl <x9=140(%esp),<t=%ebx
2034xorl 140(%esp),%ebx
2035
2036# qhasm: 		r += s
2037# asm 1: addl <s=int32#3,<r=int32#6
2038# asm 2: addl <s=%edx,<r=%edi
2039addl %edx,%edi
2040
2041# qhasm: 		r <<<= 13
2042# asm 1: rol  $13,<r=int32#6
2043# asm 2: rol  $13,<r=%edi
2044rol  $13,%edi
2045
2046# qhasm: 		r ^= x4
2047# asm 1: xorl <x4=stack32#30,<r=int32#6
2048# asm 2: xorl <x4=116(%esp),<r=%edi
2049xorl 116(%esp),%edi
2050
2051# qhasm: 						v += w
2052# asm 1: addl <w=int32#5,<v=int32#7
2053# asm 2: addl <w=%esi,<v=%ebp
2054addl %esi,%ebp
2055
2056# qhasm: 						v <<<= 13
2057# asm 1: rol  $13,<v=int32#7
2058# asm 2: rol  $13,<v=%ebp
2059rol  $13,%ebp
2060
2061# qhasm: 						v ^= x14
2062# asm 1: xorl <x14=stack32#31,<v=int32#7
2063# asm 2: xorl <x14=120(%esp),<v=%ebp
2064xorl 120(%esp),%ebp
2065
2066# qhasm: x3 = p
2067# asm 1: movl <p=int32#2,>x3=stack32#30
2068# asm 2: movl <p=%ecx,>x3=116(%esp)
2069movl %ecx,116(%esp)
2070
2071# qhasm: 				x9 = t
2072# asm 1: movl <t=int32#4,>x9=stack32#36
2073# asm 2: movl <t=%ebx,>x9=140(%esp)
2074movl %ebx,140(%esp)
2075
2076# qhasm: p += x2
2077# asm 1: addl <x2=stack32#29,<p=int32#2
2078# asm 2: addl <x2=112(%esp),<p=%ecx
2079addl 112(%esp),%ecx
2080
2081# qhasm: 		x4 = r
2082# asm 1: movl <r=int32#6,>x4=stack32#31
2083# asm 2: movl <r=%edi,>x4=120(%esp)
2084movl %edi,120(%esp)
2085
2086# qhasm: 				t += x8
2087# asm 1: addl <x8=stack32#35,<t=int32#4
2088# asm 2: addl <x8=136(%esp),<t=%ebx
2089addl 136(%esp),%ebx
2090
2091# qhasm: 						x14 = v
2092# asm 1: movl <v=int32#7,>x14=stack32#41
2093# asm 2: movl <v=%ebp,>x14=160(%esp)
2094movl %ebp,160(%esp)
2095
2096# qhasm: p <<<= 18
2097# asm 1: rol  $18,<p=int32#2
2098# asm 2: rol  $18,<p=%ecx
2099rol  $18,%ecx
2100
2101# qhasm: p ^= x0
2102# asm 1: xorl <x0=stack32#27,<p=int32#2
2103# asm 2: xorl <x0=104(%esp),<p=%ecx
2104xorl 104(%esp),%ecx
2105
2106# qhasm: 				t <<<= 18
2107# asm 1: rol  $18,<t=int32#4
2108# asm 2: rol  $18,<t=%ebx
2109rol  $18,%ebx
2110
2111# qhasm: 				t ^= x10
2112# asm 1: xorl <x10=stack32#32,<t=int32#4
2113# asm 2: xorl <x10=124(%esp),<t=%ebx
2114xorl 124(%esp),%ebx
2115
2116# qhasm: 		s += r
2117# asm 1: addl <r=int32#6,<s=int32#3
2118# asm 2: addl <r=%edi,<s=%edx
2119addl %edi,%edx
2120
2121# qhasm: 		s <<<= 18
2122# asm 1: rol  $18,<s=int32#3
2123# asm 2: rol  $18,<s=%edx
2124rol  $18,%edx
2125
2126# qhasm: 		s ^= x5
2127# asm 1: xorl <x5=stack32#37,<s=int32#3
2128# asm 2: xorl <x5=144(%esp),<s=%edx
2129xorl 144(%esp),%edx
2130
2131# qhasm: 						w += v
2132# asm 1: addl <v=int32#7,<w=int32#5
2133# asm 2: addl <v=%ebp,<w=%esi
2134addl %ebp,%esi
2135
2136# qhasm: 						w <<<= 18
2137# asm 1: rol  $18,<w=int32#5
2138# asm 2: rol  $18,<w=%esi
2139rol  $18,%esi
2140
2141# qhasm: 						w ^= x15
2142# asm 1: xorl <x15=stack32#42,<w=int32#5
2143# asm 2: xorl <x15=164(%esp),<w=%esi
2144xorl 164(%esp),%esi
2145
2146# qhasm:                  unsigned>? i -= 4
2147# asm 1: sub  $4,<i=int32#1
2148# asm 2: sub  $4,<i=%eax
2149sub  $4,%eax
2150# comment:fp stack unchanged by jump
2151
2152# qhasm: goto mainloop if unsigned>
2153ja ._mainloop
2154
2155# qhasm: x0 = p
2156# asm 1: movl <p=int32#2,>x0=stack32#27
2157# asm 2: movl <p=%ecx,>x0=104(%esp)
2158movl %ecx,104(%esp)
2159
2160# qhasm: x5 = s
2161# asm 1: movl <s=int32#3,>x5=stack32#32
2162# asm 2: movl <s=%edx,>x5=124(%esp)
2163movl %edx,124(%esp)
2164
2165# qhasm: x10 = t
2166# asm 1: movl <t=int32#4,>x10=stack32#37
2167# asm 2: movl <t=%ebx,>x10=144(%esp)
2168movl %ebx,144(%esp)
2169
2170# qhasm: x15 = w
2171# asm 1: movl <w=int32#5,>x15=stack32#42
2172# asm 2: movl <w=%esi,>x15=164(%esp)
2173movl %esi,164(%esp)
2174
2175# qhasm:   out = out_backup
2176# asm 1: movl <out_backup=stack32#24,>out=int32#6
2177# asm 2: movl <out_backup=92(%esp),>out=%edi
2178movl 92(%esp),%edi
2179
2180# qhasm:   m = m_backup
2181# asm 1: movl <m_backup=stack32#25,>m=int32#5
2182# asm 2: movl <m_backup=96(%esp),>m=%esi
2183movl 96(%esp),%esi
2184
2185# qhasm:   in0 = x0
2186# asm 1: movl <x0=stack32#27,>in0=int32#1
2187# asm 2: movl <x0=104(%esp),>in0=%eax
2188movl 104(%esp),%eax
2189
2190# qhasm:   in1 = x1
2191# asm 1: movl <x1=stack32#28,>in1=int32#2
2192# asm 2: movl <x1=108(%esp),>in1=%ecx
2193movl 108(%esp),%ecx
2194
2195# qhasm:   in0 += j0
2196# asm 1: addl <j0=stack32#6,<in0=int32#1
2197# asm 2: addl <j0=20(%esp),<in0=%eax
2198addl 20(%esp),%eax
2199
2200# qhasm:   in1 += j1
2201# asm 1: addl <j1=stack32#7,<in1=int32#2
2202# asm 2: addl <j1=24(%esp),<in1=%ecx
2203addl 24(%esp),%ecx
2204
2205# qhasm:   in0 ^= *(uint32 *) (m + 0)
2206# asm 1: xorl 0(<m=int32#5),<in0=int32#1
2207# asm 2: xorl 0(<m=%esi),<in0=%eax
2208xorl 0(%esi),%eax
2209
2210# qhasm:   in1 ^= *(uint32 *) (m + 4)
2211# asm 1: xorl 4(<m=int32#5),<in1=int32#2
2212# asm 2: xorl 4(<m=%esi),<in1=%ecx
2213xorl 4(%esi),%ecx
2214
2215# qhasm:   *(uint32 *) (out + 0) = in0
2216# asm 1: movl <in0=int32#1,0(<out=int32#6)
2217# asm 2: movl <in0=%eax,0(<out=%edi)
2218movl %eax,0(%edi)
2219
2220# qhasm:   *(uint32 *) (out + 4) = in1
2221# asm 1: movl <in1=int32#2,4(<out=int32#6)
2222# asm 2: movl <in1=%ecx,4(<out=%edi)
2223movl %ecx,4(%edi)
2224
2225# qhasm:   in2 = x2
2226# asm 1: movl <x2=stack32#29,>in2=int32#1
2227# asm 2: movl <x2=112(%esp),>in2=%eax
2228movl 112(%esp),%eax
2229
2230# qhasm:   in3 = x3
2231# asm 1: movl <x3=stack32#30,>in3=int32#2
2232# asm 2: movl <x3=116(%esp),>in3=%ecx
2233movl 116(%esp),%ecx
2234
2235# qhasm:   in2 += j2
2236# asm 1: addl <j2=stack32#8,<in2=int32#1
2237# asm 2: addl <j2=28(%esp),<in2=%eax
2238addl 28(%esp),%eax
2239
2240# qhasm:   in3 += j3
2241# asm 1: addl <j3=stack32#9,<in3=int32#2
2242# asm 2: addl <j3=32(%esp),<in3=%ecx
2243addl 32(%esp),%ecx
2244
2245# qhasm:   in2 ^= *(uint32 *) (m + 8)
2246# asm 1: xorl 8(<m=int32#5),<in2=int32#1
2247# asm 2: xorl 8(<m=%esi),<in2=%eax
2248xorl 8(%esi),%eax
2249
2250# qhasm:   in3 ^= *(uint32 *) (m + 12)
2251# asm 1: xorl 12(<m=int32#5),<in3=int32#2
2252# asm 2: xorl 12(<m=%esi),<in3=%ecx
2253xorl 12(%esi),%ecx
2254
2255# qhasm:   *(uint32 *) (out + 8) = in2
2256# asm 1: movl <in2=int32#1,8(<out=int32#6)
2257# asm 2: movl <in2=%eax,8(<out=%edi)
2258movl %eax,8(%edi)
2259
2260# qhasm:   *(uint32 *) (out + 12) = in3
2261# asm 1: movl <in3=int32#2,12(<out=int32#6)
2262# asm 2: movl <in3=%ecx,12(<out=%edi)
2263movl %ecx,12(%edi)
2264
2265# qhasm:   in4 = x4
2266# asm 1: movl <x4=stack32#31,>in4=int32#1
2267# asm 2: movl <x4=120(%esp),>in4=%eax
2268movl 120(%esp),%eax
2269
2270# qhasm:   in5 = x5
2271# asm 1: movl <x5=stack32#32,>in5=int32#2
2272# asm 2: movl <x5=124(%esp),>in5=%ecx
2273movl 124(%esp),%ecx
2274
2275# qhasm:   in4 += j4
2276# asm 1: addl <j4=stack32#10,<in4=int32#1
2277# asm 2: addl <j4=36(%esp),<in4=%eax
2278addl 36(%esp),%eax
2279
2280# qhasm:   in5 += j5
2281# asm 1: addl <j5=stack32#11,<in5=int32#2
2282# asm 2: addl <j5=40(%esp),<in5=%ecx
2283addl 40(%esp),%ecx
2284
2285# qhasm:   in4 ^= *(uint32 *) (m + 16)
2286# asm 1: xorl 16(<m=int32#5),<in4=int32#1
2287# asm 2: xorl 16(<m=%esi),<in4=%eax
2288xorl 16(%esi),%eax
2289
2290# qhasm:   in5 ^= *(uint32 *) (m + 20)
2291# asm 1: xorl 20(<m=int32#5),<in5=int32#2
2292# asm 2: xorl 20(<m=%esi),<in5=%ecx
2293xorl 20(%esi),%ecx
2294
2295# qhasm:   *(uint32 *) (out + 16) = in4
2296# asm 1: movl <in4=int32#1,16(<out=int32#6)
2297# asm 2: movl <in4=%eax,16(<out=%edi)
2298movl %eax,16(%edi)
2299
2300# qhasm:   *(uint32 *) (out + 20) = in5
2301# asm 1: movl <in5=int32#2,20(<out=int32#6)
2302# asm 2: movl <in5=%ecx,20(<out=%edi)
2303movl %ecx,20(%edi)
2304
2305# qhasm:   in6 = x6
2306# asm 1: movl <x6=stack32#33,>in6=int32#1
2307# asm 2: movl <x6=128(%esp),>in6=%eax
2308movl 128(%esp),%eax
2309
2310# qhasm:   in7 = x7
2311# asm 1: movl <x7=stack32#34,>in7=int32#2
2312# asm 2: movl <x7=132(%esp),>in7=%ecx
2313movl 132(%esp),%ecx
2314
2315# qhasm:   in6 += j6
2316# asm 1: addl <j6=stack32#12,<in6=int32#1
2317# asm 2: addl <j6=44(%esp),<in6=%eax
2318addl 44(%esp),%eax
2319
2320# qhasm:   in7 += j7
2321# asm 1: addl <j7=stack32#13,<in7=int32#2
2322# asm 2: addl <j7=48(%esp),<in7=%ecx
2323addl 48(%esp),%ecx
2324
2325# qhasm:   in6 ^= *(uint32 *) (m + 24)
2326# asm 1: xorl 24(<m=int32#5),<in6=int32#1
2327# asm 2: xorl 24(<m=%esi),<in6=%eax
2328xorl 24(%esi),%eax
2329
2330# qhasm:   in7 ^= *(uint32 *) (m + 28)
2331# asm 1: xorl 28(<m=int32#5),<in7=int32#2
2332# asm 2: xorl 28(<m=%esi),<in7=%ecx
2333xorl 28(%esi),%ecx
2334
2335# qhasm:   *(uint32 *) (out + 24) = in6
2336# asm 1: movl <in6=int32#1,24(<out=int32#6)
2337# asm 2: movl <in6=%eax,24(<out=%edi)
2338movl %eax,24(%edi)
2339
2340# qhasm:   *(uint32 *) (out + 28) = in7
2341# asm 1: movl <in7=int32#2,28(<out=int32#6)
2342# asm 2: movl <in7=%ecx,28(<out=%edi)
2343movl %ecx,28(%edi)
2344
2345# qhasm:   in8 = x8
2346# asm 1: movl <x8=stack32#35,>in8=int32#1
2347# asm 2: movl <x8=136(%esp),>in8=%eax
2348movl 136(%esp),%eax
2349
2350# qhasm:   in9 = x9
2351# asm 1: movl <x9=stack32#36,>in9=int32#2
2352# asm 2: movl <x9=140(%esp),>in9=%ecx
2353movl 140(%esp),%ecx
2354
2355# qhasm:   in8 += j8
2356# asm 1: addl <j8=stack32#14,<in8=int32#1
2357# asm 2: addl <j8=52(%esp),<in8=%eax
2358addl 52(%esp),%eax
2359
2360# qhasm:   in9 += j9
2361# asm 1: addl <j9=stack32#15,<in9=int32#2
2362# asm 2: addl <j9=56(%esp),<in9=%ecx
2363addl 56(%esp),%ecx
2364
2365# qhasm:   in8 ^= *(uint32 *) (m + 32)
2366# asm 1: xorl 32(<m=int32#5),<in8=int32#1
2367# asm 2: xorl 32(<m=%esi),<in8=%eax
2368xorl 32(%esi),%eax
2369
2370# qhasm:   in9 ^= *(uint32 *) (m + 36)
2371# asm 1: xorl 36(<m=int32#5),<in9=int32#2
2372# asm 2: xorl 36(<m=%esi),<in9=%ecx
2373xorl 36(%esi),%ecx
2374
2375# qhasm:   *(uint32 *) (out + 32) = in8
2376# asm 1: movl <in8=int32#1,32(<out=int32#6)
2377# asm 2: movl <in8=%eax,32(<out=%edi)
2378movl %eax,32(%edi)
2379
2380# qhasm:   *(uint32 *) (out + 36) = in9
2381# asm 1: movl <in9=int32#2,36(<out=int32#6)
2382# asm 2: movl <in9=%ecx,36(<out=%edi)
2383movl %ecx,36(%edi)
2384
2385# qhasm:   in10 = x10
2386# asm 1: movl <x10=stack32#37,>in10=int32#1
2387# asm 2: movl <x10=144(%esp),>in10=%eax
2388movl 144(%esp),%eax
2389
2390# qhasm:   in11 = x11
2391# asm 1: movl <x11=stack32#38,>in11=int32#2
2392# asm 2: movl <x11=148(%esp),>in11=%ecx
2393movl 148(%esp),%ecx
2394
2395# qhasm:   in10 += j10
2396# asm 1: addl <j10=stack32#16,<in10=int32#1
2397# asm 2: addl <j10=60(%esp),<in10=%eax
2398addl 60(%esp),%eax
2399
2400# qhasm:   in11 += j11
2401# asm 1: addl <j11=stack32#17,<in11=int32#2
2402# asm 2: addl <j11=64(%esp),<in11=%ecx
2403addl 64(%esp),%ecx
2404
2405# qhasm:   in10 ^= *(uint32 *) (m + 40)
2406# asm 1: xorl 40(<m=int32#5),<in10=int32#1
2407# asm 2: xorl 40(<m=%esi),<in10=%eax
2408xorl 40(%esi),%eax
2409
2410# qhasm:   in11 ^= *(uint32 *) (m + 44)
2411# asm 1: xorl 44(<m=int32#5),<in11=int32#2
2412# asm 2: xorl 44(<m=%esi),<in11=%ecx
2413xorl 44(%esi),%ecx
2414
2415# qhasm:   *(uint32 *) (out + 40) = in10
2416# asm 1: movl <in10=int32#1,40(<out=int32#6)
2417# asm 2: movl <in10=%eax,40(<out=%edi)
2418movl %eax,40(%edi)
2419
2420# qhasm:   *(uint32 *) (out + 44) = in11
2421# asm 1: movl <in11=int32#2,44(<out=int32#6)
2422# asm 2: movl <in11=%ecx,44(<out=%edi)
2423movl %ecx,44(%edi)
2424
2425# qhasm:   in12 = x12
2426# asm 1: movl <x12=stack32#39,>in12=int32#1
2427# asm 2: movl <x12=152(%esp),>in12=%eax
2428movl 152(%esp),%eax
2429
2430# qhasm:   in13 = x13
2431# asm 1: movl <x13=stack32#40,>in13=int32#2
2432# asm 2: movl <x13=156(%esp),>in13=%ecx
2433movl 156(%esp),%ecx
2434
2435# qhasm:   in12 += j12
2436# asm 1: addl <j12=stack32#18,<in12=int32#1
2437# asm 2: addl <j12=68(%esp),<in12=%eax
2438addl 68(%esp),%eax
2439
2440# qhasm:   in13 += j13
2441# asm 1: addl <j13=stack32#19,<in13=int32#2
2442# asm 2: addl <j13=72(%esp),<in13=%ecx
2443addl 72(%esp),%ecx
2444
2445# qhasm:   in12 ^= *(uint32 *) (m + 48)
2446# asm 1: xorl 48(<m=int32#5),<in12=int32#1
2447# asm 2: xorl 48(<m=%esi),<in12=%eax
2448xorl 48(%esi),%eax
2449
2450# qhasm:   in13 ^= *(uint32 *) (m + 52)
2451# asm 1: xorl 52(<m=int32#5),<in13=int32#2
2452# asm 2: xorl 52(<m=%esi),<in13=%ecx
2453xorl 52(%esi),%ecx
2454
2455# qhasm:   *(uint32 *) (out + 48) = in12
2456# asm 1: movl <in12=int32#1,48(<out=int32#6)
2457# asm 2: movl <in12=%eax,48(<out=%edi)
2458movl %eax,48(%edi)
2459
2460# qhasm:   *(uint32 *) (out + 52) = in13
2461# asm 1: movl <in13=int32#2,52(<out=int32#6)
2462# asm 2: movl <in13=%ecx,52(<out=%edi)
2463movl %ecx,52(%edi)
2464
2465# qhasm:   in14 = x14
2466# asm 1: movl <x14=stack32#41,>in14=int32#1
2467# asm 2: movl <x14=160(%esp),>in14=%eax
2468movl 160(%esp),%eax
2469
2470# qhasm:   in15 = x15
2471# asm 1: movl <x15=stack32#42,>in15=int32#2
2472# asm 2: movl <x15=164(%esp),>in15=%ecx
2473movl 164(%esp),%ecx
2474
2475# qhasm:   in14 += j14
2476# asm 1: addl <j14=stack32#20,<in14=int32#1
2477# asm 2: addl <j14=76(%esp),<in14=%eax
2478addl 76(%esp),%eax
2479
2480# qhasm:   in15 += j15
2481# asm 1: addl <j15=stack32#21,<in15=int32#2
2482# asm 2: addl <j15=80(%esp),<in15=%ecx
2483addl 80(%esp),%ecx
2484
2485# qhasm:   in14 ^= *(uint32 *) (m + 56)
2486# asm 1: xorl 56(<m=int32#5),<in14=int32#1
2487# asm 2: xorl 56(<m=%esi),<in14=%eax
2488xorl 56(%esi),%eax
2489
2490# qhasm:   in15 ^= *(uint32 *) (m + 60)
2491# asm 1: xorl 60(<m=int32#5),<in15=int32#2
2492# asm 2: xorl 60(<m=%esi),<in15=%ecx
2493xorl 60(%esi),%ecx
2494
2495# qhasm:   *(uint32 *) (out + 56) = in14
2496# asm 1: movl <in14=int32#1,56(<out=int32#6)
2497# asm 2: movl <in14=%eax,56(<out=%edi)
2498movl %eax,56(%edi)
2499
2500# qhasm:   *(uint32 *) (out + 60) = in15
2501# asm 1: movl <in15=int32#2,60(<out=int32#6)
2502# asm 2: movl <in15=%ecx,60(<out=%edi)
2503movl %ecx,60(%edi)
2504
2505# qhasm:   bytes = bytes_backup
2506# asm 1: movl <bytes_backup=stack32#26,>bytes=int32#4
2507# asm 2: movl <bytes_backup=100(%esp),>bytes=%ebx
2508movl 100(%esp),%ebx
2509
2510# qhasm:   in8 = j8
2511# asm 1: movl <j8=stack32#14,>in8=int32#1
2512# asm 2: movl <j8=52(%esp),>in8=%eax
2513movl 52(%esp),%eax
2514
2515# qhasm:   in9 = j9
2516# asm 1: movl <j9=stack32#15,>in9=int32#2
2517# asm 2: movl <j9=56(%esp),>in9=%ecx
2518movl 56(%esp),%ecx
2519
2520# qhasm:   carry? in8 += 1
2521# asm 1: add  $1,<in8=int32#1
2522# asm 2: add  $1,<in8=%eax
2523add  $1,%eax
2524
2525# qhasm:   in9 += 0 + carry
2526# asm 1: adc $0,<in9=int32#2
2527# asm 2: adc $0,<in9=%ecx
2528adc $0,%ecx
2529
2530# qhasm:   j8 = in8
2531# asm 1: movl <in8=int32#1,>j8=stack32#14
2532# asm 2: movl <in8=%eax,>j8=52(%esp)
2533movl %eax,52(%esp)
2534
2535# qhasm:   j9 = in9
2536# asm 1: movl <in9=int32#2,>j9=stack32#15
2537# asm 2: movl <in9=%ecx,>j9=56(%esp)
2538movl %ecx,56(%esp)
2539
2540# qhasm:                          unsigned>? unsigned<? bytes - 64
2541# asm 1: cmp  $64,<bytes=int32#4
2542# asm 2: cmp  $64,<bytes=%ebx
2543cmp  $64,%ebx
2544# comment:fp stack unchanged by jump
2545
2546# qhasm:   goto bytesatleast65 if unsigned>
2547ja ._bytesatleast65
2548# comment:fp stack unchanged by jump
2549
2550# qhasm:     goto bytesatleast64 if !unsigned<
2551jae ._bytesatleast64
2552
2553# qhasm:       m = out
2554# asm 1: mov  <out=int32#6,>m=int32#5
2555# asm 2: mov  <out=%edi,>m=%esi
2556mov  %edi,%esi
2557
2558# qhasm:       out = ctarget
2559# asm 1: movl <ctarget=stack32#23,>out=int32#6
2560# asm 2: movl <ctarget=88(%esp),>out=%edi
2561movl 88(%esp),%edi
2562
2563# qhasm:       i = bytes
2564# asm 1: mov  <bytes=int32#4,>i=int32#2
2565# asm 2: mov  <bytes=%ebx,>i=%ecx
2566mov  %ebx,%ecx
2567
2568# qhasm:       while (i) { *out++ = *m++; --i }
2569rep movsb
2570# comment:fp stack unchanged by fallthrough
2571
2572# qhasm:     bytesatleast64:
2573._bytesatleast64:
2574
2575# qhasm:     x = x_backup
2576# asm 1: movl <x_backup=stack32#22,>x=int32#1
2577# asm 2: movl <x_backup=84(%esp),>x=%eax
2578movl 84(%esp),%eax
2579
2580# qhasm:     in8 = j8
2581# asm 1: movl <j8=stack32#14,>in8=int32#2
2582# asm 2: movl <j8=52(%esp),>in8=%ecx
2583movl 52(%esp),%ecx
2584
2585# qhasm:     in9 = j9
2586# asm 1: movl <j9=stack32#15,>in9=int32#3
2587# asm 2: movl <j9=56(%esp),>in9=%edx
2588movl 56(%esp),%edx
2589
2590# qhasm:     *(uint32 *) (x + 32) = in8
2591# asm 1: movl <in8=int32#2,32(<x=int32#1)
2592# asm 2: movl <in8=%ecx,32(<x=%eax)
2593movl %ecx,32(%eax)
2594
2595# qhasm:     *(uint32 *) (x + 36) = in9
2596# asm 1: movl <in9=int32#3,36(<x=int32#1)
2597# asm 2: movl <in9=%edx,36(<x=%eax)
2598movl %edx,36(%eax)
2599# comment:fp stack unchanged by fallthrough
2600
2601# qhasm:     done:
2602._done:
2603
2604# qhasm:     eax = eax_stack
2605# asm 1: movl <eax_stack=stack32#1,>eax=int32#1
2606# asm 2: movl <eax_stack=0(%esp),>eax=%eax
2607movl 0(%esp),%eax
2608
2609# qhasm:     ebx = ebx_stack
2610# asm 1: movl <ebx_stack=stack32#2,>ebx=int32#4
2611# asm 2: movl <ebx_stack=4(%esp),>ebx=%ebx
2612movl 4(%esp),%ebx
2613
2614# qhasm:     esi = esi_stack
2615# asm 1: movl <esi_stack=stack32#3,>esi=int32#5
2616# asm 2: movl <esi_stack=8(%esp),>esi=%esi
2617movl 8(%esp),%esi
2618
2619# qhasm:     edi = edi_stack
2620# asm 1: movl <edi_stack=stack32#4,>edi=int32#6
2621# asm 2: movl <edi_stack=12(%esp),>edi=%edi
2622movl 12(%esp),%edi
2623
2624# qhasm:     ebp = ebp_stack
2625# asm 1: movl <ebp_stack=stack32#5,>ebp=int32#7
2626# asm 2: movl <ebp_stack=16(%esp),>ebp=%ebp
2627movl 16(%esp),%ebp
2628
2629# qhasm:     leave
2630add %eax,%esp
2631ret
2632
2633# qhasm:   bytesatleast65:
2634._bytesatleast65:
2635
2636# qhasm:   bytes -= 64
2637# asm 1: sub  $64,<bytes=int32#4
2638# asm 2: sub  $64,<bytes=%ebx
2639sub  $64,%ebx
2640
2641# qhasm:   out += 64
2642# asm 1: add  $64,<out=int32#6
2643# asm 2: add  $64,<out=%edi
2644add  $64,%edi
2645
2646# qhasm:   m += 64
2647# asm 1: add  $64,<m=int32#5
2648# asm 2: add  $64,<m=%esi
2649add  $64,%esi
2650# comment:fp stack unchanged by jump
2651
2652# qhasm: goto bytesatleast1
2653jmp ._bytesatleast1
2654
2655# qhasm: enter ECRYPT_init
2656.text
2657.p2align 5
2658.globl _ECRYPT_init
2659.globl ECRYPT_init
2660_ECRYPT_init:
2661ECRYPT_init:
2662mov %esp,%eax
2663and $31,%eax
2664add $256,%eax
2665sub %eax,%esp
2666
2667# qhasm: leave
2668add %eax,%esp
2669ret
2670
2671# qhasm: enter ECRYPT_keysetup
2672.text
2673.p2align 5
2674.globl _ECRYPT_keysetup
2675.globl ECRYPT_keysetup
2676_ECRYPT_keysetup:
2677ECRYPT_keysetup:
2678mov %esp,%eax
2679and $31,%eax
2680add $256,%eax
2681sub %eax,%esp
2682
2683# qhasm:   eax_stack = eax
2684# asm 1: movl <eax=int32#1,>eax_stack=stack32#1
2685# asm 2: movl <eax=%eax,>eax_stack=0(%esp)
2686movl %eax,0(%esp)
2687
2688# qhasm:   ebx_stack = ebx
2689# asm 1: movl <ebx=int32#4,>ebx_stack=stack32#2
2690# asm 2: movl <ebx=%ebx,>ebx_stack=4(%esp)
2691movl %ebx,4(%esp)
2692
2693# qhasm:   esi_stack = esi
2694# asm 1: movl <esi=int32#5,>esi_stack=stack32#3
2695# asm 2: movl <esi=%esi,>esi_stack=8(%esp)
2696movl %esi,8(%esp)
2697
2698# qhasm:   edi_stack = edi
2699# asm 1: movl <edi=int32#6,>edi_stack=stack32#4
2700# asm 2: movl <edi=%edi,>edi_stack=12(%esp)
2701movl %edi,12(%esp)
2702
2703# qhasm:   ebp_stack = ebp
2704# asm 1: movl <ebp=int32#7,>ebp_stack=stack32#5
2705# asm 2: movl <ebp=%ebp,>ebp_stack=16(%esp)
2706movl %ebp,16(%esp)
2707
2708# qhasm:   k = arg2
2709# asm 1: movl <arg2=stack32#-2,>k=int32#2
2710# asm 2: movl <arg2=8(%esp,%eax),>k=%ecx
2711movl 8(%esp,%eax),%ecx
2712
2713# qhasm:   kbits = arg3
2714# asm 1: movl <arg3=stack32#-3,>kbits=int32#3
2715# asm 2: movl <arg3=12(%esp,%eax),>kbits=%edx
2716movl 12(%esp,%eax),%edx
2717
2718# qhasm:   x = arg1
2719# asm 1: movl <arg1=stack32#-1,>x=int32#1
2720# asm 2: movl <arg1=4(%esp,%eax),>x=%eax
2721movl 4(%esp,%eax),%eax
2722
2723# qhasm:   in1 = *(uint32 *) (k + 0)
2724# asm 1: movl 0(<k=int32#2),>in1=int32#4
2725# asm 2: movl 0(<k=%ecx),>in1=%ebx
2726movl 0(%ecx),%ebx
2727
2728# qhasm:   in2 = *(uint32 *) (k + 4)
2729# asm 1: movl 4(<k=int32#2),>in2=int32#5
2730# asm 2: movl 4(<k=%ecx),>in2=%esi
2731movl 4(%ecx),%esi
2732
2733# qhasm:   in3 = *(uint32 *) (k + 8)
2734# asm 1: movl 8(<k=int32#2),>in3=int32#6
2735# asm 2: movl 8(<k=%ecx),>in3=%edi
2736movl 8(%ecx),%edi
2737
2738# qhasm:   in4 = *(uint32 *) (k + 12)
2739# asm 1: movl 12(<k=int32#2),>in4=int32#7
2740# asm 2: movl 12(<k=%ecx),>in4=%ebp
2741movl 12(%ecx),%ebp
2742
2743# qhasm:   *(uint32 *) (x + 4) = in1
2744# asm 1: movl <in1=int32#4,4(<x=int32#1)
2745# asm 2: movl <in1=%ebx,4(<x=%eax)
2746movl %ebx,4(%eax)
2747
2748# qhasm:   *(uint32 *) (x + 8) = in2
2749# asm 1: movl <in2=int32#5,8(<x=int32#1)
2750# asm 2: movl <in2=%esi,8(<x=%eax)
2751movl %esi,8(%eax)
2752
2753# qhasm:   *(uint32 *) (x + 12) = in3
2754# asm 1: movl <in3=int32#6,12(<x=int32#1)
2755# asm 2: movl <in3=%edi,12(<x=%eax)
2756movl %edi,12(%eax)
2757
2758# qhasm:   *(uint32 *) (x + 16) = in4
2759# asm 1: movl <in4=int32#7,16(<x=int32#1)
2760# asm 2: movl <in4=%ebp,16(<x=%eax)
2761movl %ebp,16(%eax)
2762
2763# qhasm:                    unsigned<? kbits - 256
2764# asm 1: cmp  $256,<kbits=int32#3
2765# asm 2: cmp  $256,<kbits=%edx
2766cmp  $256,%edx
2767# comment:fp stack unchanged by jump
2768
2769# qhasm:   goto kbits128 if unsigned<
2770jb ._kbits128
2771
2772# qhasm:   kbits256:
2773._kbits256:
2774
2775# qhasm:     in11 = *(uint32 *) (k + 16)
2776# asm 1: movl 16(<k=int32#2),>in11=int32#3
2777# asm 2: movl 16(<k=%ecx),>in11=%edx
2778movl 16(%ecx),%edx
2779
2780# qhasm:     in12 = *(uint32 *) (k + 20)
2781# asm 1: movl 20(<k=int32#2),>in12=int32#4
2782# asm 2: movl 20(<k=%ecx),>in12=%ebx
2783movl 20(%ecx),%ebx
2784
2785# qhasm:     in13 = *(uint32 *) (k + 24)
2786# asm 1: movl 24(<k=int32#2),>in13=int32#5
2787# asm 2: movl 24(<k=%ecx),>in13=%esi
2788movl 24(%ecx),%esi
2789
2790# qhasm:     in14 = *(uint32 *) (k + 28)
2791# asm 1: movl 28(<k=int32#2),>in14=int32#2
2792# asm 2: movl 28(<k=%ecx),>in14=%ecx
2793movl 28(%ecx),%ecx
2794
2795# qhasm:     *(uint32 *) (x + 44) = in11
2796# asm 1: movl <in11=int32#3,44(<x=int32#1)
2797# asm 2: movl <in11=%edx,44(<x=%eax)
2798movl %edx,44(%eax)
2799
2800# qhasm:     *(uint32 *) (x + 48) = in12
2801# asm 1: movl <in12=int32#4,48(<x=int32#1)
2802# asm 2: movl <in12=%ebx,48(<x=%eax)
2803movl %ebx,48(%eax)
2804
2805# qhasm:     *(uint32 *) (x + 52) = in13
2806# asm 1: movl <in13=int32#5,52(<x=int32#1)
2807# asm 2: movl <in13=%esi,52(<x=%eax)
2808movl %esi,52(%eax)
2809
2810# qhasm:     *(uint32 *) (x + 56) = in14
2811# asm 1: movl <in14=int32#2,56(<x=int32#1)
2812# asm 2: movl <in14=%ecx,56(<x=%eax)
2813movl %ecx,56(%eax)
2814
2815# qhasm:     in0 = 1634760805
2816# asm 1: mov  $1634760805,>in0=int32#2
2817# asm 2: mov  $1634760805,>in0=%ecx
2818mov  $1634760805,%ecx
2819
2820# qhasm:     in5 = 857760878
2821# asm 1: mov  $857760878,>in5=int32#3
2822# asm 2: mov  $857760878,>in5=%edx
2823mov  $857760878,%edx
2824
2825# qhasm:     in10 = 2036477234
2826# asm 1: mov  $2036477234,>in10=int32#4
2827# asm 2: mov  $2036477234,>in10=%ebx
2828mov  $2036477234,%ebx
2829
2830# qhasm:     in15 = 1797285236
2831# asm 1: mov  $1797285236,>in15=int32#5
2832# asm 2: mov  $1797285236,>in15=%esi
2833mov  $1797285236,%esi
2834
2835# qhasm:     *(uint32 *) (x + 0) = in0
2836# asm 1: movl <in0=int32#2,0(<x=int32#1)
2837# asm 2: movl <in0=%ecx,0(<x=%eax)
2838movl %ecx,0(%eax)
2839
2840# qhasm:     *(uint32 *) (x + 20) = in5
2841# asm 1: movl <in5=int32#3,20(<x=int32#1)
2842# asm 2: movl <in5=%edx,20(<x=%eax)
2843movl %edx,20(%eax)
2844
2845# qhasm:     *(uint32 *) (x + 40) = in10
2846# asm 1: movl <in10=int32#4,40(<x=int32#1)
2847# asm 2: movl <in10=%ebx,40(<x=%eax)
2848movl %ebx,40(%eax)
2849
2850# qhasm:     *(uint32 *) (x + 60) = in15
2851# asm 1: movl <in15=int32#5,60(<x=int32#1)
2852# asm 2: movl <in15=%esi,60(<x=%eax)
2853movl %esi,60(%eax)
2854# comment:fp stack unchanged by jump
2855
2856# qhasm:   goto keysetupdone
2857jmp ._keysetupdone
2858
2859# qhasm:   kbits128:
2860._kbits128:
2861
2862# qhasm:     in11 = *(uint32 *) (k + 0)
2863# asm 1: movl 0(<k=int32#2),>in11=int32#3
2864# asm 2: movl 0(<k=%ecx),>in11=%edx
2865movl 0(%ecx),%edx
2866
2867# qhasm:     in12 = *(uint32 *) (k + 4)
2868# asm 1: movl 4(<k=int32#2),>in12=int32#4
2869# asm 2: movl 4(<k=%ecx),>in12=%ebx
2870movl 4(%ecx),%ebx
2871
2872# qhasm:     in13 = *(uint32 *) (k + 8)
2873# asm 1: movl 8(<k=int32#2),>in13=int32#5
2874# asm 2: movl 8(<k=%ecx),>in13=%esi
2875movl 8(%ecx),%esi
2876
2877# qhasm:     in14 = *(uint32 *) (k + 12)
2878# asm 1: movl 12(<k=int32#2),>in14=int32#2
2879# asm 2: movl 12(<k=%ecx),>in14=%ecx
2880movl 12(%ecx),%ecx
2881
2882# qhasm:     *(uint32 *) (x + 44) = in11
2883# asm 1: movl <in11=int32#3,44(<x=int32#1)
2884# asm 2: movl <in11=%edx,44(<x=%eax)
2885movl %edx,44(%eax)
2886
2887# qhasm:     *(uint32 *) (x + 48) = in12
2888# asm 1: movl <in12=int32#4,48(<x=int32#1)
2889# asm 2: movl <in12=%ebx,48(<x=%eax)
2890movl %ebx,48(%eax)
2891
2892# qhasm:     *(uint32 *) (x + 52) = in13
2893# asm 1: movl <in13=int32#5,52(<x=int32#1)
2894# asm 2: movl <in13=%esi,52(<x=%eax)
2895movl %esi,52(%eax)
2896
2897# qhasm:     *(uint32 *) (x + 56) = in14
2898# asm 1: movl <in14=int32#2,56(<x=int32#1)
2899# asm 2: movl <in14=%ecx,56(<x=%eax)
2900movl %ecx,56(%eax)
2901
2902# qhasm:     in0 = 1634760805
2903# asm 1: mov  $1634760805,>in0=int32#2
2904# asm 2: mov  $1634760805,>in0=%ecx
2905mov  $1634760805,%ecx
2906
2907# qhasm:     in5 = 824206446
2908# asm 1: mov  $824206446,>in5=int32#3
2909# asm 2: mov  $824206446,>in5=%edx
2910mov  $824206446,%edx
2911
2912# qhasm:     in10 = 2036477238
2913# asm 1: mov  $2036477238,>in10=int32#4
2914# asm 2: mov  $2036477238,>in10=%ebx
2915mov  $2036477238,%ebx
2916
2917# qhasm:     in15 = 1797285236
2918# asm 1: mov  $1797285236,>in15=int32#5
2919# asm 2: mov  $1797285236,>in15=%esi
2920mov  $1797285236,%esi
2921
2922# qhasm:     *(uint32 *) (x + 0) = in0
2923# asm 1: movl <in0=int32#2,0(<x=int32#1)
2924# asm 2: movl <in0=%ecx,0(<x=%eax)
2925movl %ecx,0(%eax)
2926
2927# qhasm:     *(uint32 *) (x + 20) = in5
2928# asm 1: movl <in5=int32#3,20(<x=int32#1)
2929# asm 2: movl <in5=%edx,20(<x=%eax)
2930movl %edx,20(%eax)
2931
2932# qhasm:     *(uint32 *) (x + 40) = in10
2933# asm 1: movl <in10=int32#4,40(<x=int32#1)
2934# asm 2: movl <in10=%ebx,40(<x=%eax)
2935movl %ebx,40(%eax)
2936
2937# qhasm:     *(uint32 *) (x + 60) = in15
2938# asm 1: movl <in15=int32#5,60(<x=int32#1)
2939# asm 2: movl <in15=%esi,60(<x=%eax)
2940movl %esi,60(%eax)
2941
2942# qhasm:   keysetupdone:
2943._keysetupdone:
2944
2945# qhasm:   eax = eax_stack
2946# asm 1: movl <eax_stack=stack32#1,>eax=int32#1
2947# asm 2: movl <eax_stack=0(%esp),>eax=%eax
2948movl 0(%esp),%eax
2949
2950# qhasm:   ebx = ebx_stack
2951# asm 1: movl <ebx_stack=stack32#2,>ebx=int32#4
2952# asm 2: movl <ebx_stack=4(%esp),>ebx=%ebx
2953movl 4(%esp),%ebx
2954
2955# qhasm:   esi = esi_stack
2956# asm 1: movl <esi_stack=stack32#3,>esi=int32#5
2957# asm 2: movl <esi_stack=8(%esp),>esi=%esi
2958movl 8(%esp),%esi
2959
2960# qhasm:   edi = edi_stack
2961# asm 1: movl <edi_stack=stack32#4,>edi=int32#6
2962# asm 2: movl <edi_stack=12(%esp),>edi=%edi
2963movl 12(%esp),%edi
2964
2965# qhasm:   ebp = ebp_stack
2966# asm 1: movl <ebp_stack=stack32#5,>ebp=int32#7
2967# asm 2: movl <ebp_stack=16(%esp),>ebp=%ebp
2968movl 16(%esp),%ebp
2969
2970# qhasm: leave
2971add %eax,%esp
2972ret
2973
2974# qhasm: enter ECRYPT_ivsetup
2975.text
2976.p2align 5
2977.globl _ECRYPT_ivsetup
2978.globl ECRYPT_ivsetup
2979_ECRYPT_ivsetup:
2980ECRYPT_ivsetup:
2981mov %esp,%eax
2982and $31,%eax
2983add $256,%eax
2984sub %eax,%esp
2985
2986# qhasm:   eax_stack = eax
2987# asm 1: movl <eax=int32#1,>eax_stack=stack32#1
2988# asm 2: movl <eax=%eax,>eax_stack=0(%esp)
2989movl %eax,0(%esp)
2990
2991# qhasm:   ebx_stack = ebx
2992# asm 1: movl <ebx=int32#4,>ebx_stack=stack32#2
2993# asm 2: movl <ebx=%ebx,>ebx_stack=4(%esp)
2994movl %ebx,4(%esp)
2995
2996# qhasm:   esi_stack = esi
2997# asm 1: movl <esi=int32#5,>esi_stack=stack32#3
2998# asm 2: movl <esi=%esi,>esi_stack=8(%esp)
2999movl %esi,8(%esp)
3000
3001# qhasm:   edi_stack = edi
3002# asm 1: movl <edi=int32#6,>edi_stack=stack32#4
3003# asm 2: movl <edi=%edi,>edi_stack=12(%esp)
3004movl %edi,12(%esp)
3005
3006# qhasm:   ebp_stack = ebp
3007# asm 1: movl <ebp=int32#7,>ebp_stack=stack32#5
3008# asm 2: movl <ebp=%ebp,>ebp_stack=16(%esp)
3009movl %ebp,16(%esp)
3010
3011# qhasm:   iv = arg2
3012# asm 1: movl <arg2=stack32#-2,>iv=int32#2
3013# asm 2: movl <arg2=8(%esp,%eax),>iv=%ecx
3014movl 8(%esp,%eax),%ecx
3015
3016# qhasm:   x = arg1
3017# asm 1: movl <arg1=stack32#-1,>x=int32#1
3018# asm 2: movl <arg1=4(%esp,%eax),>x=%eax
3019movl 4(%esp,%eax),%eax
3020
3021# qhasm:   in6 = *(uint32 *) (iv + 0)
3022# asm 1: movl 0(<iv=int32#2),>in6=int32#3
3023# asm 2: movl 0(<iv=%ecx),>in6=%edx
3024movl 0(%ecx),%edx
3025
3026# qhasm:   in7 = *(uint32 *) (iv + 4)
3027# asm 1: movl 4(<iv=int32#2),>in7=int32#2
3028# asm 2: movl 4(<iv=%ecx),>in7=%ecx
3029movl 4(%ecx),%ecx
3030
3031# qhasm:   in8 = 0
3032# asm 1: mov  $0,>in8=int32#4
3033# asm 2: mov  $0,>in8=%ebx
3034mov  $0,%ebx
3035
3036# qhasm:   in9 = 0
3037# asm 1: mov  $0,>in9=int32#5
3038# asm 2: mov  $0,>in9=%esi
3039mov  $0,%esi
3040
3041# qhasm:   *(uint32 *) (x + 24) = in6
3042# asm 1: movl <in6=int32#3,24(<x=int32#1)
3043# asm 2: movl <in6=%edx,24(<x=%eax)
3044movl %edx,24(%eax)
3045
3046# qhasm:   *(uint32 *) (x + 28) = in7
3047# asm 1: movl <in7=int32#2,28(<x=int32#1)
3048# asm 2: movl <in7=%ecx,28(<x=%eax)
3049movl %ecx,28(%eax)
3050
3051# qhasm:   *(uint32 *) (x + 32) = in8
3052# asm 1: movl <in8=int32#4,32(<x=int32#1)
3053# asm 2: movl <in8=%ebx,32(<x=%eax)
3054movl %ebx,32(%eax)
3055
3056# qhasm:   *(uint32 *) (x + 36) = in9
3057# asm 1: movl <in9=int32#5,36(<x=int32#1)
3058# asm 2: movl <in9=%esi,36(<x=%eax)
3059movl %esi,36(%eax)
3060
3061# qhasm:   eax = eax_stack
3062# asm 1: movl <eax_stack=stack32#1,>eax=int32#1
3063# asm 2: movl <eax_stack=0(%esp),>eax=%eax
3064movl 0(%esp),%eax
3065
3066# qhasm:   ebx = ebx_stack
3067# asm 1: movl <ebx_stack=stack32#2,>ebx=int32#4
3068# asm 2: movl <ebx_stack=4(%esp),>ebx=%ebx
3069movl 4(%esp),%ebx
3070
3071# qhasm:   esi = esi_stack
3072# asm 1: movl <esi_stack=stack32#3,>esi=int32#5
3073# asm 2: movl <esi_stack=8(%esp),>esi=%esi
3074movl 8(%esp),%esi
3075
3076# qhasm:   edi = edi_stack
3077# asm 1: movl <edi_stack=stack32#4,>edi=int32#6
3078# asm 2: movl <edi_stack=12(%esp),>edi=%edi
3079movl 12(%esp),%edi
3080
3081# qhasm:   ebp = ebp_stack
3082# asm 1: movl <ebp_stack=stack32#5,>ebp=int32#7
3083# asm 2: movl <ebp_stack=16(%esp),>ebp=%ebp
3084movl 16(%esp),%ebp
3085
3086# qhasm: leave
3087add %eax,%esp
3088ret
3089