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