1.register %g2,#scratch 2.register %g3,#scratch 3.section ".text",#alloc,#execinstr 4 5.align 32 6.globl sha1_block_data_order 7sha1_block_data_order: 8 save %sp,-192,%sp 9 sllx %i2,6,%i2 10 add %i1,%i2,%i2 11 12 or %g0,1,%g2 13 sllx %g2,32,%g2 14 or %g2,1,%g2 15 16 ld [%i0+0],%l0 17 ld [%i0+4],%l1 18 ld [%i0+8],%l2 19 ld [%i0+12],%l3 20 ld [%i0+16],%l4 21 andn %i1,7,%i3 22 23 sethi %hi(0x5a827999),%l5 24 or %l5,%lo(0x5a827999),%l5 25 sethi %hi(0x6ed9eba1),%l6 26 or %l6,%lo(0x6ed9eba1),%l6 27 sethi %hi(0x8f1bbcdc),%l7 28 or %l7,%lo(0x8f1bbcdc),%l7 29 sethi %hi(0xca62c1d6),%g5 30 or %g5,%lo(0xca62c1d6),%g5 31 32.Lloop: 33 ldx [%i3+0],%o0 34 ldx [%i3+16],%o2 35 ldx [%i3+32],%o4 36 ldx [%i3+48],%g1 37 and %i1,7,%i4 38 ldx [%i3+8],%o1 39 sll %i4,3,%i4 40 ldx [%i3+24],%o3 41 subcc %g0,%i4,%i5 ! should be 64-%i4, but -%i4 works too 42 ldx [%i3+40],%o5 43 bz,pt %icc,.Laligned 44 ldx [%i3+56],%o7 45 46 sllx %o0,%i4,%o0 47 ldx [%i3+64],%g3 48 srlx %o1,%i5,%g4 49 sllx %o1,%i4,%o1 50 or %g4,%o0,%o0 51 srlx %o2,%i5,%g4 52 sllx %o2,%i4,%o2 53 or %g4,%o1,%o1 54 srlx %o3,%i5,%g4 55 sllx %o3,%i4,%o3 56 or %g4,%o2,%o2 57 srlx %o4,%i5,%g4 58 sllx %o4,%i4,%o4 59 or %g4,%o3,%o3 60 srlx %o5,%i5,%g4 61 sllx %o5,%i4,%o5 62 or %g4,%o4,%o4 63 srlx %g1,%i5,%g4 64 sllx %g1,%i4,%g1 65 or %g4,%o5,%o5 66 srlx %o7,%i5,%g4 67 sllx %o7,%i4,%o7 68 or %g4,%g1,%g1 69 srlx %g3,%i5,%g3 70 or %g3,%o7,%o7 71.Laligned: 72 srlx %o0,32,%g4 73 sll %l0,5,%i3 !! 0 74 add %l5,%l4,%l4 75 srl %l0,27,%i4 76 add %i3,%l4,%l4 77 and %l2,%l1,%i3 78 add %i4,%l4,%l4 79 sll %l1,30,%i5 80 andn %l3,%l1,%i4 81 srl %l1,2,%l1 82 or %i4,%i3,%i4 83 or %i5,%l1,%l1 84 add %g4,%l4,%l4 85 add %i4,%l4,%l4 86 sll %l4,5,%i3 !! 1 87 add %l5,%l3,%l3 88 srl %l4,27,%i4 89 add %i3,%l3,%l3 90 and %l1,%l0,%i3 91 add %i4,%l3,%l3 92 sll %l0,30,%i5 93 andn %l2,%l0,%i4 94 srl %l0,2,%l0 95 or %i4,%i3,%i4 96 or %i5,%l0,%l0 97 add %o0,%l3,%l3 98 srlx %o1,32,%g4 99 add %i4,%l3,%l3 100 sll %l3,5,%i3 !! 2 101 add %l5,%l2,%l2 102 srl %l3,27,%i4 103 add %i3,%l2,%l2 104 and %l0,%l4,%i3 105 add %i4,%l2,%l2 106 sll %l4,30,%i5 107 andn %l1,%l4,%i4 108 srl %l4,2,%l4 109 or %i4,%i3,%i4 110 or %i5,%l4,%l4 111 add %g4,%l2,%l2 112 add %i4,%l2,%l2 113 sll %l2,5,%i3 !! 3 114 add %l5,%l1,%l1 115 srl %l2,27,%i4 116 add %i3,%l1,%l1 117 and %l4,%l3,%i3 118 add %i4,%l1,%l1 119 sll %l3,30,%i5 120 andn %l0,%l3,%i4 121 srl %l3,2,%l3 122 or %i4,%i3,%i4 123 or %i5,%l3,%l3 124 add %o1,%l1,%l1 125 srlx %o2,32,%g4 126 add %i4,%l1,%l1 127 sll %l1,5,%i3 !! 4 128 add %l5,%l0,%l0 129 srl %l1,27,%i4 130 add %i3,%l0,%l0 131 and %l3,%l2,%i3 132 add %i4,%l0,%l0 133 sll %l2,30,%i5 134 andn %l4,%l2,%i4 135 srl %l2,2,%l2 136 or %i4,%i3,%i4 137 or %i5,%l2,%l2 138 add %g4,%l0,%l0 139 add %i4,%l0,%l0 140 sll %l0,5,%i3 !! 5 141 add %l5,%l4,%l4 142 srl %l0,27,%i4 143 add %i3,%l4,%l4 144 and %l2,%l1,%i3 145 add %i4,%l4,%l4 146 sll %l1,30,%i5 147 andn %l3,%l1,%i4 148 srl %l1,2,%l1 149 or %i4,%i3,%i4 150 or %i5,%l1,%l1 151 add %o2,%l4,%l4 152 srlx %o3,32,%g4 153 add %i4,%l4,%l4 154 sll %l4,5,%i3 !! 6 155 add %l5,%l3,%l3 156 srl %l4,27,%i4 157 add %i3,%l3,%l3 158 and %l1,%l0,%i3 159 add %i4,%l3,%l3 160 sll %l0,30,%i5 161 andn %l2,%l0,%i4 162 srl %l0,2,%l0 163 or %i4,%i3,%i4 164 or %i5,%l0,%l0 165 add %g4,%l3,%l3 166 add %i4,%l3,%l3 167 sll %l3,5,%i3 !! 7 168 add %l5,%l2,%l2 169 srl %l3,27,%i4 170 add %i3,%l2,%l2 171 and %l0,%l4,%i3 172 add %i4,%l2,%l2 173 sll %l4,30,%i5 174 andn %l1,%l4,%i4 175 srl %l4,2,%l4 176 or %i4,%i3,%i4 177 or %i5,%l4,%l4 178 add %o3,%l2,%l2 179 srlx %o4,32,%g4 180 add %i4,%l2,%l2 181 sll %l2,5,%i3 !! 8 182 add %l5,%l1,%l1 183 srl %l2,27,%i4 184 add %i3,%l1,%l1 185 and %l4,%l3,%i3 186 add %i4,%l1,%l1 187 sll %l3,30,%i5 188 andn %l0,%l3,%i4 189 srl %l3,2,%l3 190 or %i4,%i3,%i4 191 or %i5,%l3,%l3 192 add %g4,%l1,%l1 193 add %i4,%l1,%l1 194 sll %l1,5,%i3 !! 9 195 add %l5,%l0,%l0 196 srl %l1,27,%i4 197 add %i3,%l0,%l0 198 and %l3,%l2,%i3 199 add %i4,%l0,%l0 200 sll %l2,30,%i5 201 andn %l4,%l2,%i4 202 srl %l2,2,%l2 203 or %i4,%i3,%i4 204 or %i5,%l2,%l2 205 add %o4,%l0,%l0 206 srlx %o5,32,%g4 207 add %i4,%l0,%l0 208 sll %l0,5,%i3 !! 10 209 add %l5,%l4,%l4 210 srl %l0,27,%i4 211 add %i3,%l4,%l4 212 and %l2,%l1,%i3 213 add %i4,%l4,%l4 214 sll %l1,30,%i5 215 andn %l3,%l1,%i4 216 srl %l1,2,%l1 217 or %i4,%i3,%i4 218 or %i5,%l1,%l1 219 add %g4,%l4,%l4 220 add %i4,%l4,%l4 221 sll %l4,5,%i3 !! 11 222 add %l5,%l3,%l3 223 srl %l4,27,%i4 224 add %i3,%l3,%l3 225 and %l1,%l0,%i3 226 add %i4,%l3,%l3 227 sll %l0,30,%i5 228 andn %l2,%l0,%i4 229 srl %l0,2,%l0 230 or %i4,%i3,%i4 231 or %i5,%l0,%l0 232 add %o5,%l3,%l3 233 srlx %g1,32,%g4 234 add %i4,%l3,%l3 235 sll %l3,5,%i3 !! 12 236 add %l5,%l2,%l2 237 srl %l3,27,%i4 238 add %i3,%l2,%l2 239 and %l0,%l4,%i3 240 add %i4,%l2,%l2 241 sll %l4,30,%i5 242 andn %l1,%l4,%i4 243 srl %l4,2,%l4 244 or %i4,%i3,%i4 245 or %i5,%l4,%l4 246 add %g4,%l2,%l2 247 add %i4,%l2,%l2 248 sll %l2,5,%i3 !! 13 249 add %l5,%l1,%l1 250 srl %l2,27,%i4 251 add %i3,%l1,%l1 252 and %l4,%l3,%i3 253 add %i4,%l1,%l1 254 sll %l3,30,%i5 255 andn %l0,%l3,%i4 256 srl %l3,2,%l3 257 or %i4,%i3,%i4 258 or %i5,%l3,%l3 259 add %g1,%l1,%l1 260 srlx %o7,32,%g4 261 add %i4,%l1,%l1 262 sll %l1,5,%i3 !! 14 263 add %l5,%l0,%l0 264 srl %l1,27,%i4 265 add %i3,%l0,%l0 266 and %l3,%l2,%i3 267 add %i4,%l0,%l0 268 sll %l2,30,%i5 269 andn %l4,%l2,%i4 270 srl %l2,2,%l2 271 or %i4,%i3,%i4 272 or %i5,%l2,%l2 273 add %g4,%l0,%l0 274 add %i4,%l0,%l0 275 sll %l0,5,%i3 !! 15 276 add %l5,%l4,%l4 277 srl %l0,27,%i4 278 add %i3,%l4,%l4 279 and %l2,%l1,%i3 280 add %i4,%l4,%l4 281 sll %l1,30,%i5 282 andn %l3,%l1,%i4 283 srl %l1,2,%l1 284 or %i4,%i3,%i4 285 or %i5,%l1,%l1 286 add %o7,%l4,%l4 287 add %i4,%l4,%l4 288 sllx %g1,32,%g4 ! Xupdate(16) 289 xor %o1,%o0,%o0 290 srlx %o7,32,%i4 291 xor %o4,%o0,%o0 292 sll %l4,5,%i3 !! 16 293 or %i4,%g4,%g4 294 add %l5,%l3,%l3 !! 295 xor %g4,%o0,%o0 296 srlx %o0,31,%g4 297 add %o0,%o0,%o0 298 and %g4,%g2,%g4 299 andn %o0,%g2,%o0 300 srl %l4,27,%i4 !! 301 or %g4,%o0,%o0 302 srlx %o0,32,%g4 303 add %i3,%l3,%l3 !! 304 and %l1,%l0,%i3 305 add %i4,%l3,%l3 306 sll %l0,30,%i5 307 add %g4,%l3,%l3 308 andn %l2,%l0,%i4 309 srl %l0,2,%l0 310 or %i4,%i3,%i4 311 or %i5,%l0,%l0 312 add %i4,%l3,%l3 313 sll %l3,5,%i3 !! 17 314 add %l5,%l2,%l2 315 srl %l3,27,%i4 316 add %i3,%l2,%l2 !! 317 and %l0,%l4,%i3 318 add %i4,%l2,%l2 319 sll %l4,30,%i5 320 add %o0,%l2,%l2 321 andn %l1,%l4,%i4 322 srl %l4,2,%l4 323 or %i4,%i3,%i4 324 or %i5,%l4,%l4 325 add %i4,%l2,%l2 326 sllx %o7,32,%g4 ! Xupdate(18) 327 xor %o2,%o1,%o1 328 srlx %o0,32,%i4 329 xor %o5,%o1,%o1 330 sll %l2,5,%i3 !! 18 331 or %i4,%g4,%g4 332 add %l5,%l1,%l1 !! 333 xor %g4,%o1,%o1 334 srlx %o1,31,%g4 335 add %o1,%o1,%o1 336 and %g4,%g2,%g4 337 andn %o1,%g2,%o1 338 srl %l2,27,%i4 !! 339 or %g4,%o1,%o1 340 srlx %o1,32,%g4 341 add %i3,%l1,%l1 !! 342 and %l4,%l3,%i3 343 add %i4,%l1,%l1 344 sll %l3,30,%i5 345 add %g4,%l1,%l1 346 andn %l0,%l3,%i4 347 srl %l3,2,%l3 348 or %i4,%i3,%i4 349 or %i5,%l3,%l3 350 add %i4,%l1,%l1 351 sll %l1,5,%i3 !! 19 352 add %l5,%l0,%l0 353 srl %l1,27,%i4 354 add %i3,%l0,%l0 !! 355 and %l3,%l2,%i3 356 add %i4,%l0,%l0 357 sll %l2,30,%i5 358 add %o1,%l0,%l0 359 andn %l4,%l2,%i4 360 srl %l2,2,%l2 361 or %i4,%i3,%i4 362 or %i5,%l2,%l2 363 add %i4,%l0,%l0 364 sllx %o0,32,%g4 ! Xupdate(20) 365 xor %o3,%o2,%o2 366 srlx %o1,32,%i4 367 xor %g1,%o2,%o2 368 sll %l0,5,%i3 !! 20 369 or %i4,%g4,%g4 370 add %l6,%l4,%l4 !! 371 xor %g4,%o2,%o2 372 srlx %o2,31,%g4 373 add %o2,%o2,%o2 374 and %g4,%g2,%g4 375 andn %o2,%g2,%o2 376 srl %l0,27,%i4 !! 377 or %g4,%o2,%o2 378 srlx %o2,32,%g4 379 add %i3,%l4,%l4 !! 380 xor %l2,%l1,%i3 381 add %i4,%l4,%l4 382 sll %l1,30,%i5 383 xor %l3,%i3,%i4 384 srl %l1,2,%l1 385 add %i4,%l4,%l4 386 or %i5,%l1,%l1 387 add %g4,%l4,%l4 388 sll %l4,5,%i3 !! 21 389 add %l6,%l3,%l3 390 srl %l4,27,%i4 391 add %i3,%l3,%l3 !! 392 xor %l1,%l0,%i3 393 add %i4,%l3,%l3 394 sll %l0,30,%i5 395 xor %l2,%i3,%i4 396 srl %l0,2,%l0 397 add %i4,%l3,%l3 398 or %i5,%l0,%l0 399 add %o2,%l3,%l3 400 sllx %o1,32,%g4 ! Xupdate(22) 401 xor %o4,%o3,%o3 402 srlx %o2,32,%i4 403 xor %o7,%o3,%o3 404 sll %l3,5,%i3 !! 22 405 or %i4,%g4,%g4 406 add %l6,%l2,%l2 !! 407 xor %g4,%o3,%o3 408 srlx %o3,31,%g4 409 add %o3,%o3,%o3 410 and %g4,%g2,%g4 411 andn %o3,%g2,%o3 412 srl %l3,27,%i4 !! 413 or %g4,%o3,%o3 414 srlx %o3,32,%g4 415 add %i3,%l2,%l2 !! 416 xor %l0,%l4,%i3 417 add %i4,%l2,%l2 418 sll %l4,30,%i5 419 xor %l1,%i3,%i4 420 srl %l4,2,%l4 421 add %i4,%l2,%l2 422 or %i5,%l4,%l4 423 add %g4,%l2,%l2 424 sll %l2,5,%i3 !! 23 425 add %l6,%l1,%l1 426 srl %l2,27,%i4 427 add %i3,%l1,%l1 !! 428 xor %l4,%l3,%i3 429 add %i4,%l1,%l1 430 sll %l3,30,%i5 431 xor %l0,%i3,%i4 432 srl %l3,2,%l3 433 add %i4,%l1,%l1 434 or %i5,%l3,%l3 435 add %o3,%l1,%l1 436 sllx %o2,32,%g4 ! Xupdate(24) 437 xor %o5,%o4,%o4 438 srlx %o3,32,%i4 439 xor %o0,%o4,%o4 440 sll %l1,5,%i3 !! 24 441 or %i4,%g4,%g4 442 add %l6,%l0,%l0 !! 443 xor %g4,%o4,%o4 444 srlx %o4,31,%g4 445 add %o4,%o4,%o4 446 and %g4,%g2,%g4 447 andn %o4,%g2,%o4 448 srl %l1,27,%i4 !! 449 or %g4,%o4,%o4 450 srlx %o4,32,%g4 451 add %i3,%l0,%l0 !! 452 xor %l3,%l2,%i3 453 add %i4,%l0,%l0 454 sll %l2,30,%i5 455 xor %l4,%i3,%i4 456 srl %l2,2,%l2 457 add %i4,%l0,%l0 458 or %i5,%l2,%l2 459 add %g4,%l0,%l0 460 sll %l0,5,%i3 !! 25 461 add %l6,%l4,%l4 462 srl %l0,27,%i4 463 add %i3,%l4,%l4 !! 464 xor %l2,%l1,%i3 465 add %i4,%l4,%l4 466 sll %l1,30,%i5 467 xor %l3,%i3,%i4 468 srl %l1,2,%l1 469 add %i4,%l4,%l4 470 or %i5,%l1,%l1 471 add %o4,%l4,%l4 472 sllx %o3,32,%g4 ! Xupdate(26) 473 xor %g1,%o5,%o5 474 srlx %o4,32,%i4 475 xor %o1,%o5,%o5 476 sll %l4,5,%i3 !! 26 477 or %i4,%g4,%g4 478 add %l6,%l3,%l3 !! 479 xor %g4,%o5,%o5 480 srlx %o5,31,%g4 481 add %o5,%o5,%o5 482 and %g4,%g2,%g4 483 andn %o5,%g2,%o5 484 srl %l4,27,%i4 !! 485 or %g4,%o5,%o5 486 srlx %o5,32,%g4 487 add %i3,%l3,%l3 !! 488 xor %l1,%l0,%i3 489 add %i4,%l3,%l3 490 sll %l0,30,%i5 491 xor %l2,%i3,%i4 492 srl %l0,2,%l0 493 add %i4,%l3,%l3 494 or %i5,%l0,%l0 495 add %g4,%l3,%l3 496 sll %l3,5,%i3 !! 27 497 add %l6,%l2,%l2 498 srl %l3,27,%i4 499 add %i3,%l2,%l2 !! 500 xor %l0,%l4,%i3 501 add %i4,%l2,%l2 502 sll %l4,30,%i5 503 xor %l1,%i3,%i4 504 srl %l4,2,%l4 505 add %i4,%l2,%l2 506 or %i5,%l4,%l4 507 add %o5,%l2,%l2 508 sllx %o4,32,%g4 ! Xupdate(28) 509 xor %o7,%g1,%g1 510 srlx %o5,32,%i4 511 xor %o2,%g1,%g1 512 sll %l2,5,%i3 !! 28 513 or %i4,%g4,%g4 514 add %l6,%l1,%l1 !! 515 xor %g4,%g1,%g1 516 srlx %g1,31,%g4 517 add %g1,%g1,%g1 518 and %g4,%g2,%g4 519 andn %g1,%g2,%g1 520 srl %l2,27,%i4 !! 521 or %g4,%g1,%g1 522 srlx %g1,32,%g4 523 add %i3,%l1,%l1 !! 524 xor %l4,%l3,%i3 525 add %i4,%l1,%l1 526 sll %l3,30,%i5 527 xor %l0,%i3,%i4 528 srl %l3,2,%l3 529 add %i4,%l1,%l1 530 or %i5,%l3,%l3 531 add %g4,%l1,%l1 532 sll %l1,5,%i3 !! 29 533 add %l6,%l0,%l0 534 srl %l1,27,%i4 535 add %i3,%l0,%l0 !! 536 xor %l3,%l2,%i3 537 add %i4,%l0,%l0 538 sll %l2,30,%i5 539 xor %l4,%i3,%i4 540 srl %l2,2,%l2 541 add %i4,%l0,%l0 542 or %i5,%l2,%l2 543 add %g1,%l0,%l0 544 sllx %o5,32,%g4 ! Xupdate(30) 545 xor %o0,%o7,%o7 546 srlx %g1,32,%i4 547 xor %o3,%o7,%o7 548 sll %l0,5,%i3 !! 30 549 or %i4,%g4,%g4 550 add %l6,%l4,%l4 !! 551 xor %g4,%o7,%o7 552 srlx %o7,31,%g4 553 add %o7,%o7,%o7 554 and %g4,%g2,%g4 555 andn %o7,%g2,%o7 556 srl %l0,27,%i4 !! 557 or %g4,%o7,%o7 558 srlx %o7,32,%g4 559 add %i3,%l4,%l4 !! 560 xor %l2,%l1,%i3 561 add %i4,%l4,%l4 562 sll %l1,30,%i5 563 xor %l3,%i3,%i4 564 srl %l1,2,%l1 565 add %i4,%l4,%l4 566 or %i5,%l1,%l1 567 add %g4,%l4,%l4 568 sll %l4,5,%i3 !! 31 569 add %l6,%l3,%l3 570 srl %l4,27,%i4 571 add %i3,%l3,%l3 !! 572 xor %l1,%l0,%i3 573 add %i4,%l3,%l3 574 sll %l0,30,%i5 575 xor %l2,%i3,%i4 576 srl %l0,2,%l0 577 add %i4,%l3,%l3 578 or %i5,%l0,%l0 579 add %o7,%l3,%l3 580 sllx %g1,32,%g4 ! Xupdate(32) 581 xor %o1,%o0,%o0 582 srlx %o7,32,%i4 583 xor %o4,%o0,%o0 584 sll %l3,5,%i3 !! 32 585 or %i4,%g4,%g4 586 add %l6,%l2,%l2 !! 587 xor %g4,%o0,%o0 588 srlx %o0,31,%g4 589 add %o0,%o0,%o0 590 and %g4,%g2,%g4 591 andn %o0,%g2,%o0 592 srl %l3,27,%i4 !! 593 or %g4,%o0,%o0 594 srlx %o0,32,%g4 595 add %i3,%l2,%l2 !! 596 xor %l0,%l4,%i3 597 add %i4,%l2,%l2 598 sll %l4,30,%i5 599 xor %l1,%i3,%i4 600 srl %l4,2,%l4 601 add %i4,%l2,%l2 602 or %i5,%l4,%l4 603 add %g4,%l2,%l2 604 sll %l2,5,%i3 !! 33 605 add %l6,%l1,%l1 606 srl %l2,27,%i4 607 add %i3,%l1,%l1 !! 608 xor %l4,%l3,%i3 609 add %i4,%l1,%l1 610 sll %l3,30,%i5 611 xor %l0,%i3,%i4 612 srl %l3,2,%l3 613 add %i4,%l1,%l1 614 or %i5,%l3,%l3 615 add %o0,%l1,%l1 616 sllx %o7,32,%g4 ! Xupdate(34) 617 xor %o2,%o1,%o1 618 srlx %o0,32,%i4 619 xor %o5,%o1,%o1 620 sll %l1,5,%i3 !! 34 621 or %i4,%g4,%g4 622 add %l6,%l0,%l0 !! 623 xor %g4,%o1,%o1 624 srlx %o1,31,%g4 625 add %o1,%o1,%o1 626 and %g4,%g2,%g4 627 andn %o1,%g2,%o1 628 srl %l1,27,%i4 !! 629 or %g4,%o1,%o1 630 srlx %o1,32,%g4 631 add %i3,%l0,%l0 !! 632 xor %l3,%l2,%i3 633 add %i4,%l0,%l0 634 sll %l2,30,%i5 635 xor %l4,%i3,%i4 636 srl %l2,2,%l2 637 add %i4,%l0,%l0 638 or %i5,%l2,%l2 639 add %g4,%l0,%l0 640 sll %l0,5,%i3 !! 35 641 add %l6,%l4,%l4 642 srl %l0,27,%i4 643 add %i3,%l4,%l4 !! 644 xor %l2,%l1,%i3 645 add %i4,%l4,%l4 646 sll %l1,30,%i5 647 xor %l3,%i3,%i4 648 srl %l1,2,%l1 649 add %i4,%l4,%l4 650 or %i5,%l1,%l1 651 add %o1,%l4,%l4 652 sllx %o0,32,%g4 ! Xupdate(36) 653 xor %o3,%o2,%o2 654 srlx %o1,32,%i4 655 xor %g1,%o2,%o2 656 sll %l4,5,%i3 !! 36 657 or %i4,%g4,%g4 658 add %l6,%l3,%l3 !! 659 xor %g4,%o2,%o2 660 srlx %o2,31,%g4 661 add %o2,%o2,%o2 662 and %g4,%g2,%g4 663 andn %o2,%g2,%o2 664 srl %l4,27,%i4 !! 665 or %g4,%o2,%o2 666 srlx %o2,32,%g4 667 add %i3,%l3,%l3 !! 668 xor %l1,%l0,%i3 669 add %i4,%l3,%l3 670 sll %l0,30,%i5 671 xor %l2,%i3,%i4 672 srl %l0,2,%l0 673 add %i4,%l3,%l3 674 or %i5,%l0,%l0 675 add %g4,%l3,%l3 676 sll %l3,5,%i3 !! 37 677 add %l6,%l2,%l2 678 srl %l3,27,%i4 679 add %i3,%l2,%l2 !! 680 xor %l0,%l4,%i3 681 add %i4,%l2,%l2 682 sll %l4,30,%i5 683 xor %l1,%i3,%i4 684 srl %l4,2,%l4 685 add %i4,%l2,%l2 686 or %i5,%l4,%l4 687 add %o2,%l2,%l2 688 sllx %o1,32,%g4 ! Xupdate(38) 689 xor %o4,%o3,%o3 690 srlx %o2,32,%i4 691 xor %o7,%o3,%o3 692 sll %l2,5,%i3 !! 38 693 or %i4,%g4,%g4 694 add %l6,%l1,%l1 !! 695 xor %g4,%o3,%o3 696 srlx %o3,31,%g4 697 add %o3,%o3,%o3 698 and %g4,%g2,%g4 699 andn %o3,%g2,%o3 700 srl %l2,27,%i4 !! 701 or %g4,%o3,%o3 702 srlx %o3,32,%g4 703 add %i3,%l1,%l1 !! 704 xor %l4,%l3,%i3 705 add %i4,%l1,%l1 706 sll %l3,30,%i5 707 xor %l0,%i3,%i4 708 srl %l3,2,%l3 709 add %i4,%l1,%l1 710 or %i5,%l3,%l3 711 add %g4,%l1,%l1 712 sll %l1,5,%i3 !! 39 713 add %l6,%l0,%l0 714 srl %l1,27,%i4 715 add %i3,%l0,%l0 !! 716 xor %l3,%l2,%i3 717 add %i4,%l0,%l0 718 sll %l2,30,%i5 719 xor %l4,%i3,%i4 720 srl %l2,2,%l2 721 add %i4,%l0,%l0 722 or %i5,%l2,%l2 723 add %o3,%l0,%l0 724 sllx %o2,32,%g4 ! Xupdate(40) 725 xor %o5,%o4,%o4 726 srlx %o3,32,%i4 727 xor %o0,%o4,%o4 728 sll %l0,5,%i3 !! 40 729 or %i4,%g4,%g4 730 add %l7,%l4,%l4 !! 731 xor %g4,%o4,%o4 732 srlx %o4,31,%g4 733 add %o4,%o4,%o4 734 and %g4,%g2,%g4 735 andn %o4,%g2,%o4 736 srl %l0,27,%i4 !! 737 or %g4,%o4,%o4 738 srlx %o4,32,%g4 739 add %i3,%l4,%l4 !! 740 and %l2,%l1,%i3 741 add %i4,%l4,%l4 742 sll %l1,30,%i5 743 or %l2,%l1,%i4 744 srl %l1,2,%l1 745 and %l3,%i4,%i4 746 add %g4,%l4,%l4 747 or %i4,%i3,%i4 748 or %i5,%l1,%l1 749 add %i4,%l4,%l4 750 sll %l4,5,%i3 !! 41 751 add %l7,%l3,%l3 752 srl %l4,27,%i4 753 add %i3,%l3,%l3 !! 754 and %l1,%l0,%i3 755 add %i4,%l3,%l3 756 sll %l0,30,%i5 757 or %l1,%l0,%i4 758 srl %l0,2,%l0 759 and %l2,%i4,%i4 760 add %o4,%l3,%l3 761 or %i4,%i3,%i4 762 or %i5,%l0,%l0 763 add %i4,%l3,%l3 764 sllx %o3,32,%g4 ! Xupdate(42) 765 xor %g1,%o5,%o5 766 srlx %o4,32,%i4 767 xor %o1,%o5,%o5 768 sll %l3,5,%i3 !! 42 769 or %i4,%g4,%g4 770 add %l7,%l2,%l2 !! 771 xor %g4,%o5,%o5 772 srlx %o5,31,%g4 773 add %o5,%o5,%o5 774 and %g4,%g2,%g4 775 andn %o5,%g2,%o5 776 srl %l3,27,%i4 !! 777 or %g4,%o5,%o5 778 srlx %o5,32,%g4 779 add %i3,%l2,%l2 !! 780 and %l0,%l4,%i3 781 add %i4,%l2,%l2 782 sll %l4,30,%i5 783 or %l0,%l4,%i4 784 srl %l4,2,%l4 785 and %l1,%i4,%i4 786 add %g4,%l2,%l2 787 or %i4,%i3,%i4 788 or %i5,%l4,%l4 789 add %i4,%l2,%l2 790 sll %l2,5,%i3 !! 43 791 add %l7,%l1,%l1 792 srl %l2,27,%i4 793 add %i3,%l1,%l1 !! 794 and %l4,%l3,%i3 795 add %i4,%l1,%l1 796 sll %l3,30,%i5 797 or %l4,%l3,%i4 798 srl %l3,2,%l3 799 and %l0,%i4,%i4 800 add %o5,%l1,%l1 801 or %i4,%i3,%i4 802 or %i5,%l3,%l3 803 add %i4,%l1,%l1 804 sllx %o4,32,%g4 ! Xupdate(44) 805 xor %o7,%g1,%g1 806 srlx %o5,32,%i4 807 xor %o2,%g1,%g1 808 sll %l1,5,%i3 !! 44 809 or %i4,%g4,%g4 810 add %l7,%l0,%l0 !! 811 xor %g4,%g1,%g1 812 srlx %g1,31,%g4 813 add %g1,%g1,%g1 814 and %g4,%g2,%g4 815 andn %g1,%g2,%g1 816 srl %l1,27,%i4 !! 817 or %g4,%g1,%g1 818 srlx %g1,32,%g4 819 add %i3,%l0,%l0 !! 820 and %l3,%l2,%i3 821 add %i4,%l0,%l0 822 sll %l2,30,%i5 823 or %l3,%l2,%i4 824 srl %l2,2,%l2 825 and %l4,%i4,%i4 826 add %g4,%l0,%l0 827 or %i4,%i3,%i4 828 or %i5,%l2,%l2 829 add %i4,%l0,%l0 830 sll %l0,5,%i3 !! 45 831 add %l7,%l4,%l4 832 srl %l0,27,%i4 833 add %i3,%l4,%l4 !! 834 and %l2,%l1,%i3 835 add %i4,%l4,%l4 836 sll %l1,30,%i5 837 or %l2,%l1,%i4 838 srl %l1,2,%l1 839 and %l3,%i4,%i4 840 add %g1,%l4,%l4 841 or %i4,%i3,%i4 842 or %i5,%l1,%l1 843 add %i4,%l4,%l4 844 sllx %o5,32,%g4 ! Xupdate(46) 845 xor %o0,%o7,%o7 846 srlx %g1,32,%i4 847 xor %o3,%o7,%o7 848 sll %l4,5,%i3 !! 46 849 or %i4,%g4,%g4 850 add %l7,%l3,%l3 !! 851 xor %g4,%o7,%o7 852 srlx %o7,31,%g4 853 add %o7,%o7,%o7 854 and %g4,%g2,%g4 855 andn %o7,%g2,%o7 856 srl %l4,27,%i4 !! 857 or %g4,%o7,%o7 858 srlx %o7,32,%g4 859 add %i3,%l3,%l3 !! 860 and %l1,%l0,%i3 861 add %i4,%l3,%l3 862 sll %l0,30,%i5 863 or %l1,%l0,%i4 864 srl %l0,2,%l0 865 and %l2,%i4,%i4 866 add %g4,%l3,%l3 867 or %i4,%i3,%i4 868 or %i5,%l0,%l0 869 add %i4,%l3,%l3 870 sll %l3,5,%i3 !! 47 871 add %l7,%l2,%l2 872 srl %l3,27,%i4 873 add %i3,%l2,%l2 !! 874 and %l0,%l4,%i3 875 add %i4,%l2,%l2 876 sll %l4,30,%i5 877 or %l0,%l4,%i4 878 srl %l4,2,%l4 879 and %l1,%i4,%i4 880 add %o7,%l2,%l2 881 or %i4,%i3,%i4 882 or %i5,%l4,%l4 883 add %i4,%l2,%l2 884 sllx %g1,32,%g4 ! Xupdate(48) 885 xor %o1,%o0,%o0 886 srlx %o7,32,%i4 887 xor %o4,%o0,%o0 888 sll %l2,5,%i3 !! 48 889 or %i4,%g4,%g4 890 add %l7,%l1,%l1 !! 891 xor %g4,%o0,%o0 892 srlx %o0,31,%g4 893 add %o0,%o0,%o0 894 and %g4,%g2,%g4 895 andn %o0,%g2,%o0 896 srl %l2,27,%i4 !! 897 or %g4,%o0,%o0 898 srlx %o0,32,%g4 899 add %i3,%l1,%l1 !! 900 and %l4,%l3,%i3 901 add %i4,%l1,%l1 902 sll %l3,30,%i5 903 or %l4,%l3,%i4 904 srl %l3,2,%l3 905 and %l0,%i4,%i4 906 add %g4,%l1,%l1 907 or %i4,%i3,%i4 908 or %i5,%l3,%l3 909 add %i4,%l1,%l1 910 sll %l1,5,%i3 !! 49 911 add %l7,%l0,%l0 912 srl %l1,27,%i4 913 add %i3,%l0,%l0 !! 914 and %l3,%l2,%i3 915 add %i4,%l0,%l0 916 sll %l2,30,%i5 917 or %l3,%l2,%i4 918 srl %l2,2,%l2 919 and %l4,%i4,%i4 920 add %o0,%l0,%l0 921 or %i4,%i3,%i4 922 or %i5,%l2,%l2 923 add %i4,%l0,%l0 924 sllx %o7,32,%g4 ! Xupdate(50) 925 xor %o2,%o1,%o1 926 srlx %o0,32,%i4 927 xor %o5,%o1,%o1 928 sll %l0,5,%i3 !! 50 929 or %i4,%g4,%g4 930 add %l7,%l4,%l4 !! 931 xor %g4,%o1,%o1 932 srlx %o1,31,%g4 933 add %o1,%o1,%o1 934 and %g4,%g2,%g4 935 andn %o1,%g2,%o1 936 srl %l0,27,%i4 !! 937 or %g4,%o1,%o1 938 srlx %o1,32,%g4 939 add %i3,%l4,%l4 !! 940 and %l2,%l1,%i3 941 add %i4,%l4,%l4 942 sll %l1,30,%i5 943 or %l2,%l1,%i4 944 srl %l1,2,%l1 945 and %l3,%i4,%i4 946 add %g4,%l4,%l4 947 or %i4,%i3,%i4 948 or %i5,%l1,%l1 949 add %i4,%l4,%l4 950 sll %l4,5,%i3 !! 51 951 add %l7,%l3,%l3 952 srl %l4,27,%i4 953 add %i3,%l3,%l3 !! 954 and %l1,%l0,%i3 955 add %i4,%l3,%l3 956 sll %l0,30,%i5 957 or %l1,%l0,%i4 958 srl %l0,2,%l0 959 and %l2,%i4,%i4 960 add %o1,%l3,%l3 961 or %i4,%i3,%i4 962 or %i5,%l0,%l0 963 add %i4,%l3,%l3 964 sllx %o0,32,%g4 ! Xupdate(52) 965 xor %o3,%o2,%o2 966 srlx %o1,32,%i4 967 xor %g1,%o2,%o2 968 sll %l3,5,%i3 !! 52 969 or %i4,%g4,%g4 970 add %l7,%l2,%l2 !! 971 xor %g4,%o2,%o2 972 srlx %o2,31,%g4 973 add %o2,%o2,%o2 974 and %g4,%g2,%g4 975 andn %o2,%g2,%o2 976 srl %l3,27,%i4 !! 977 or %g4,%o2,%o2 978 srlx %o2,32,%g4 979 add %i3,%l2,%l2 !! 980 and %l0,%l4,%i3 981 add %i4,%l2,%l2 982 sll %l4,30,%i5 983 or %l0,%l4,%i4 984 srl %l4,2,%l4 985 and %l1,%i4,%i4 986 add %g4,%l2,%l2 987 or %i4,%i3,%i4 988 or %i5,%l4,%l4 989 add %i4,%l2,%l2 990 sll %l2,5,%i3 !! 53 991 add %l7,%l1,%l1 992 srl %l2,27,%i4 993 add %i3,%l1,%l1 !! 994 and %l4,%l3,%i3 995 add %i4,%l1,%l1 996 sll %l3,30,%i5 997 or %l4,%l3,%i4 998 srl %l3,2,%l3 999 and %l0,%i4,%i4 1000 add %o2,%l1,%l1 1001 or %i4,%i3,%i4 1002 or %i5,%l3,%l3 1003 add %i4,%l1,%l1 1004 sllx %o1,32,%g4 ! Xupdate(54) 1005 xor %o4,%o3,%o3 1006 srlx %o2,32,%i4 1007 xor %o7,%o3,%o3 1008 sll %l1,5,%i3 !! 54 1009 or %i4,%g4,%g4 1010 add %l7,%l0,%l0 !! 1011 xor %g4,%o3,%o3 1012 srlx %o3,31,%g4 1013 add %o3,%o3,%o3 1014 and %g4,%g2,%g4 1015 andn %o3,%g2,%o3 1016 srl %l1,27,%i4 !! 1017 or %g4,%o3,%o3 1018 srlx %o3,32,%g4 1019 add %i3,%l0,%l0 !! 1020 and %l3,%l2,%i3 1021 add %i4,%l0,%l0 1022 sll %l2,30,%i5 1023 or %l3,%l2,%i4 1024 srl %l2,2,%l2 1025 and %l4,%i4,%i4 1026 add %g4,%l0,%l0 1027 or %i4,%i3,%i4 1028 or %i5,%l2,%l2 1029 add %i4,%l0,%l0 1030 sll %l0,5,%i3 !! 55 1031 add %l7,%l4,%l4 1032 srl %l0,27,%i4 1033 add %i3,%l4,%l4 !! 1034 and %l2,%l1,%i3 1035 add %i4,%l4,%l4 1036 sll %l1,30,%i5 1037 or %l2,%l1,%i4 1038 srl %l1,2,%l1 1039 and %l3,%i4,%i4 1040 add %o3,%l4,%l4 1041 or %i4,%i3,%i4 1042 or %i5,%l1,%l1 1043 add %i4,%l4,%l4 1044 sllx %o2,32,%g4 ! Xupdate(56) 1045 xor %o5,%o4,%o4 1046 srlx %o3,32,%i4 1047 xor %o0,%o4,%o4 1048 sll %l4,5,%i3 !! 56 1049 or %i4,%g4,%g4 1050 add %l7,%l3,%l3 !! 1051 xor %g4,%o4,%o4 1052 srlx %o4,31,%g4 1053 add %o4,%o4,%o4 1054 and %g4,%g2,%g4 1055 andn %o4,%g2,%o4 1056 srl %l4,27,%i4 !! 1057 or %g4,%o4,%o4 1058 srlx %o4,32,%g4 1059 add %i3,%l3,%l3 !! 1060 and %l1,%l0,%i3 1061 add %i4,%l3,%l3 1062 sll %l0,30,%i5 1063 or %l1,%l0,%i4 1064 srl %l0,2,%l0 1065 and %l2,%i4,%i4 1066 add %g4,%l3,%l3 1067 or %i4,%i3,%i4 1068 or %i5,%l0,%l0 1069 add %i4,%l3,%l3 1070 sll %l3,5,%i3 !! 57 1071 add %l7,%l2,%l2 1072 srl %l3,27,%i4 1073 add %i3,%l2,%l2 !! 1074 and %l0,%l4,%i3 1075 add %i4,%l2,%l2 1076 sll %l4,30,%i5 1077 or %l0,%l4,%i4 1078 srl %l4,2,%l4 1079 and %l1,%i4,%i4 1080 add %o4,%l2,%l2 1081 or %i4,%i3,%i4 1082 or %i5,%l4,%l4 1083 add %i4,%l2,%l2 1084 sllx %o3,32,%g4 ! Xupdate(58) 1085 xor %g1,%o5,%o5 1086 srlx %o4,32,%i4 1087 xor %o1,%o5,%o5 1088 sll %l2,5,%i3 !! 58 1089 or %i4,%g4,%g4 1090 add %l7,%l1,%l1 !! 1091 xor %g4,%o5,%o5 1092 srlx %o5,31,%g4 1093 add %o5,%o5,%o5 1094 and %g4,%g2,%g4 1095 andn %o5,%g2,%o5 1096 srl %l2,27,%i4 !! 1097 or %g4,%o5,%o5 1098 srlx %o5,32,%g4 1099 add %i3,%l1,%l1 !! 1100 and %l4,%l3,%i3 1101 add %i4,%l1,%l1 1102 sll %l3,30,%i5 1103 or %l4,%l3,%i4 1104 srl %l3,2,%l3 1105 and %l0,%i4,%i4 1106 add %g4,%l1,%l1 1107 or %i4,%i3,%i4 1108 or %i5,%l3,%l3 1109 add %i4,%l1,%l1 1110 sll %l1,5,%i3 !! 59 1111 add %l7,%l0,%l0 1112 srl %l1,27,%i4 1113 add %i3,%l0,%l0 !! 1114 and %l3,%l2,%i3 1115 add %i4,%l0,%l0 1116 sll %l2,30,%i5 1117 or %l3,%l2,%i4 1118 srl %l2,2,%l2 1119 and %l4,%i4,%i4 1120 add %o5,%l0,%l0 1121 or %i4,%i3,%i4 1122 or %i5,%l2,%l2 1123 add %i4,%l0,%l0 1124 sllx %o4,32,%g4 ! Xupdate(60) 1125 xor %o7,%g1,%g1 1126 srlx %o5,32,%i4 1127 xor %o2,%g1,%g1 1128 sll %l0,5,%i3 !! 60 1129 or %i4,%g4,%g4 1130 add %g5,%l4,%l4 !! 1131 xor %g4,%g1,%g1 1132 srlx %g1,31,%g4 1133 add %g1,%g1,%g1 1134 and %g4,%g2,%g4 1135 andn %g1,%g2,%g1 1136 srl %l0,27,%i4 !! 1137 or %g4,%g1,%g1 1138 srlx %g1,32,%g4 1139 add %i3,%l4,%l4 !! 1140 xor %l2,%l1,%i3 1141 add %i4,%l4,%l4 1142 sll %l1,30,%i5 1143 xor %l3,%i3,%i4 1144 srl %l1,2,%l1 1145 add %i4,%l4,%l4 1146 or %i5,%l1,%l1 1147 add %g4,%l4,%l4 1148 sll %l4,5,%i3 !! 61 1149 add %g5,%l3,%l3 1150 srl %l4,27,%i4 1151 add %i3,%l3,%l3 !! 1152 xor %l1,%l0,%i3 1153 add %i4,%l3,%l3 1154 sll %l0,30,%i5 1155 xor %l2,%i3,%i4 1156 srl %l0,2,%l0 1157 add %i4,%l3,%l3 1158 or %i5,%l0,%l0 1159 add %g1,%l3,%l3 1160 sllx %o5,32,%g4 ! Xupdate(62) 1161 xor %o0,%o7,%o7 1162 srlx %g1,32,%i4 1163 xor %o3,%o7,%o7 1164 sll %l3,5,%i3 !! 62 1165 or %i4,%g4,%g4 1166 add %g5,%l2,%l2 !! 1167 xor %g4,%o7,%o7 1168 srlx %o7,31,%g4 1169 add %o7,%o7,%o7 1170 and %g4,%g2,%g4 1171 andn %o7,%g2,%o7 1172 srl %l3,27,%i4 !! 1173 or %g4,%o7,%o7 1174 srlx %o7,32,%g4 1175 add %i3,%l2,%l2 !! 1176 xor %l0,%l4,%i3 1177 add %i4,%l2,%l2 1178 sll %l4,30,%i5 1179 xor %l1,%i3,%i4 1180 srl %l4,2,%l4 1181 add %i4,%l2,%l2 1182 or %i5,%l4,%l4 1183 add %g4,%l2,%l2 1184 sll %l2,5,%i3 !! 63 1185 add %g5,%l1,%l1 1186 srl %l2,27,%i4 1187 add %i3,%l1,%l1 !! 1188 xor %l4,%l3,%i3 1189 add %i4,%l1,%l1 1190 sll %l3,30,%i5 1191 xor %l0,%i3,%i4 1192 srl %l3,2,%l3 1193 add %i4,%l1,%l1 1194 or %i5,%l3,%l3 1195 add %o7,%l1,%l1 1196 sllx %g1,32,%g4 ! Xupdate(64) 1197 xor %o1,%o0,%o0 1198 srlx %o7,32,%i4 1199 xor %o4,%o0,%o0 1200 sll %l1,5,%i3 !! 64 1201 or %i4,%g4,%g4 1202 add %g5,%l0,%l0 !! 1203 xor %g4,%o0,%o0 1204 srlx %o0,31,%g4 1205 add %o0,%o0,%o0 1206 and %g4,%g2,%g4 1207 andn %o0,%g2,%o0 1208 srl %l1,27,%i4 !! 1209 or %g4,%o0,%o0 1210 srlx %o0,32,%g4 1211 add %i3,%l0,%l0 !! 1212 xor %l3,%l2,%i3 1213 add %i4,%l0,%l0 1214 sll %l2,30,%i5 1215 xor %l4,%i3,%i4 1216 srl %l2,2,%l2 1217 add %i4,%l0,%l0 1218 or %i5,%l2,%l2 1219 add %g4,%l0,%l0 1220 sll %l0,5,%i3 !! 65 1221 add %g5,%l4,%l4 1222 srl %l0,27,%i4 1223 add %i3,%l4,%l4 !! 1224 xor %l2,%l1,%i3 1225 add %i4,%l4,%l4 1226 sll %l1,30,%i5 1227 xor %l3,%i3,%i4 1228 srl %l1,2,%l1 1229 add %i4,%l4,%l4 1230 or %i5,%l1,%l1 1231 add %o0,%l4,%l4 1232 sllx %o7,32,%g4 ! Xupdate(66) 1233 xor %o2,%o1,%o1 1234 srlx %o0,32,%i4 1235 xor %o5,%o1,%o1 1236 sll %l4,5,%i3 !! 66 1237 or %i4,%g4,%g4 1238 add %g5,%l3,%l3 !! 1239 xor %g4,%o1,%o1 1240 srlx %o1,31,%g4 1241 add %o1,%o1,%o1 1242 and %g4,%g2,%g4 1243 andn %o1,%g2,%o1 1244 srl %l4,27,%i4 !! 1245 or %g4,%o1,%o1 1246 srlx %o1,32,%g4 1247 add %i3,%l3,%l3 !! 1248 xor %l1,%l0,%i3 1249 add %i4,%l3,%l3 1250 sll %l0,30,%i5 1251 xor %l2,%i3,%i4 1252 srl %l0,2,%l0 1253 add %i4,%l3,%l3 1254 or %i5,%l0,%l0 1255 add %g4,%l3,%l3 1256 sll %l3,5,%i3 !! 67 1257 add %g5,%l2,%l2 1258 srl %l3,27,%i4 1259 add %i3,%l2,%l2 !! 1260 xor %l0,%l4,%i3 1261 add %i4,%l2,%l2 1262 sll %l4,30,%i5 1263 xor %l1,%i3,%i4 1264 srl %l4,2,%l4 1265 add %i4,%l2,%l2 1266 or %i5,%l4,%l4 1267 add %o1,%l2,%l2 1268 sllx %o0,32,%g4 ! Xupdate(68) 1269 xor %o3,%o2,%o2 1270 srlx %o1,32,%i4 1271 xor %g1,%o2,%o2 1272 sll %l2,5,%i3 !! 68 1273 or %i4,%g4,%g4 1274 add %g5,%l1,%l1 !! 1275 xor %g4,%o2,%o2 1276 srlx %o2,31,%g4 1277 add %o2,%o2,%o2 1278 and %g4,%g2,%g4 1279 andn %o2,%g2,%o2 1280 srl %l2,27,%i4 !! 1281 or %g4,%o2,%o2 1282 srlx %o2,32,%g4 1283 add %i3,%l1,%l1 !! 1284 xor %l4,%l3,%i3 1285 add %i4,%l1,%l1 1286 sll %l3,30,%i5 1287 xor %l0,%i3,%i4 1288 srl %l3,2,%l3 1289 add %i4,%l1,%l1 1290 or %i5,%l3,%l3 1291 add %g4,%l1,%l1 1292 sll %l1,5,%i3 !! 69 1293 add %g5,%l0,%l0 1294 srl %l1,27,%i4 1295 add %i3,%l0,%l0 !! 1296 xor %l3,%l2,%i3 1297 add %i4,%l0,%l0 1298 sll %l2,30,%i5 1299 xor %l4,%i3,%i4 1300 srl %l2,2,%l2 1301 add %i4,%l0,%l0 1302 or %i5,%l2,%l2 1303 add %o2,%l0,%l0 1304 sllx %o1,32,%g4 ! Xupdate(70) 1305 xor %o4,%o3,%o3 1306 srlx %o2,32,%i4 1307 xor %o7,%o3,%o3 1308 sll %l0,5,%i3 !! 70 1309 or %i4,%g4,%g4 1310 add %g5,%l4,%l4 !! 1311 xor %g4,%o3,%o3 1312 srlx %o3,31,%g4 1313 add %o3,%o3,%o3 1314 and %g4,%g2,%g4 1315 andn %o3,%g2,%o3 1316 srl %l0,27,%i4 !! 1317 or %g4,%o3,%o3 1318 srlx %o3,32,%g4 1319 add %i3,%l4,%l4 !! 1320 xor %l2,%l1,%i3 1321 add %i4,%l4,%l4 1322 sll %l1,30,%i5 1323 xor %l3,%i3,%i4 1324 srl %l1,2,%l1 1325 add %i4,%l4,%l4 1326 or %i5,%l1,%l1 1327 add %g4,%l4,%l4 1328 sll %l4,5,%i3 !! 71 1329 add %g5,%l3,%l3 1330 srl %l4,27,%i4 1331 add %i3,%l3,%l3 !! 1332 xor %l1,%l0,%i3 1333 add %i4,%l3,%l3 1334 sll %l0,30,%i5 1335 xor %l2,%i3,%i4 1336 srl %l0,2,%l0 1337 add %i4,%l3,%l3 1338 or %i5,%l0,%l0 1339 add %o3,%l3,%l3 1340 sllx %o2,32,%g4 ! Xupdate(72) 1341 xor %o5,%o4,%o4 1342 srlx %o3,32,%i4 1343 xor %o0,%o4,%o4 1344 sll %l3,5,%i3 !! 72 1345 or %i4,%g4,%g4 1346 add %g5,%l2,%l2 !! 1347 xor %g4,%o4,%o4 1348 srlx %o4,31,%g4 1349 add %o4,%o4,%o4 1350 and %g4,%g2,%g4 1351 andn %o4,%g2,%o4 1352 srl %l3,27,%i4 !! 1353 or %g4,%o4,%o4 1354 srlx %o4,32,%g4 1355 add %i3,%l2,%l2 !! 1356 xor %l0,%l4,%i3 1357 add %i4,%l2,%l2 1358 sll %l4,30,%i5 1359 xor %l1,%i3,%i4 1360 srl %l4,2,%l4 1361 add %i4,%l2,%l2 1362 or %i5,%l4,%l4 1363 add %g4,%l2,%l2 1364 sll %l2,5,%i3 !! 73 1365 add %g5,%l1,%l1 1366 srl %l2,27,%i4 1367 add %i3,%l1,%l1 !! 1368 xor %l4,%l3,%i3 1369 add %i4,%l1,%l1 1370 sll %l3,30,%i5 1371 xor %l0,%i3,%i4 1372 srl %l3,2,%l3 1373 add %i4,%l1,%l1 1374 or %i5,%l3,%l3 1375 add %o4,%l1,%l1 1376 sllx %o3,32,%g4 ! Xupdate(74) 1377 xor %g1,%o5,%o5 1378 srlx %o4,32,%i4 1379 xor %o1,%o5,%o5 1380 sll %l1,5,%i3 !! 74 1381 or %i4,%g4,%g4 1382 add %g5,%l0,%l0 !! 1383 xor %g4,%o5,%o5 1384 srlx %o5,31,%g4 1385 add %o5,%o5,%o5 1386 and %g4,%g2,%g4 1387 andn %o5,%g2,%o5 1388 srl %l1,27,%i4 !! 1389 or %g4,%o5,%o5 1390 srlx %o5,32,%g4 1391 add %i3,%l0,%l0 !! 1392 xor %l3,%l2,%i3 1393 add %i4,%l0,%l0 1394 sll %l2,30,%i5 1395 xor %l4,%i3,%i4 1396 srl %l2,2,%l2 1397 add %i4,%l0,%l0 1398 or %i5,%l2,%l2 1399 add %g4,%l0,%l0 1400 sll %l0,5,%i3 !! 75 1401 add %g5,%l4,%l4 1402 srl %l0,27,%i4 1403 add %i3,%l4,%l4 !! 1404 xor %l2,%l1,%i3 1405 add %i4,%l4,%l4 1406 sll %l1,30,%i5 1407 xor %l3,%i3,%i4 1408 srl %l1,2,%l1 1409 add %i4,%l4,%l4 1410 or %i5,%l1,%l1 1411 add %o5,%l4,%l4 1412 sllx %o4,32,%g4 ! Xupdate(76) 1413 xor %o7,%g1,%g1 1414 srlx %o5,32,%i4 1415 xor %o2,%g1,%g1 1416 sll %l4,5,%i3 !! 76 1417 or %i4,%g4,%g4 1418 add %g5,%l3,%l3 !! 1419 xor %g4,%g1,%g1 1420 srlx %g1,31,%g4 1421 add %g1,%g1,%g1 1422 and %g4,%g2,%g4 1423 andn %g1,%g2,%g1 1424 srl %l4,27,%i4 !! 1425 or %g4,%g1,%g1 1426 srlx %g1,32,%g4 1427 add %i3,%l3,%l3 !! 1428 xor %l1,%l0,%i3 1429 add %i4,%l3,%l3 1430 sll %l0,30,%i5 1431 xor %l2,%i3,%i4 1432 srl %l0,2,%l0 1433 add %i4,%l3,%l3 1434 or %i5,%l0,%l0 1435 add %g4,%l3,%l3 1436 sll %l3,5,%i3 !! 77 1437 add %g5,%l2,%l2 1438 srl %l3,27,%i4 1439 add %i3,%l2,%l2 !! 1440 xor %l0,%l4,%i3 1441 add %i4,%l2,%l2 1442 sll %l4,30,%i5 1443 xor %l1,%i3,%i4 1444 srl %l4,2,%l4 1445 add %i4,%l2,%l2 1446 or %i5,%l4,%l4 1447 add %g1,%l2,%l2 1448 sllx %o5,32,%g4 ! Xupdate(78) 1449 xor %o0,%o7,%o7 1450 srlx %g1,32,%i4 1451 xor %o3,%o7,%o7 1452 sll %l2,5,%i3 !! 78 1453 or %i4,%g4,%g4 1454 add %g5,%l1,%l1 !! 1455 xor %g4,%o7,%o7 1456 srlx %o7,31,%g4 1457 add %o7,%o7,%o7 1458 and %g4,%g2,%g4 1459 andn %o7,%g2,%o7 1460 srl %l2,27,%i4 !! 1461 or %g4,%o7,%o7 1462 srlx %o7,32,%g4 1463 add %i3,%l1,%l1 !! 1464 xor %l4,%l3,%i3 1465 add %i4,%l1,%l1 1466 sll %l3,30,%i5 1467 xor %l0,%i3,%i4 1468 srl %l3,2,%l3 1469 add %i4,%l1,%l1 1470 or %i5,%l3,%l3 1471 add %g4,%l1,%l1 1472 sll %l1,5,%i3 !! 79 1473 add %g5,%l0,%l0 1474 srl %l1,27,%i4 1475 add %i3,%l0,%l0 !! 1476 xor %l3,%l2,%i3 1477 add %i4,%l0,%l0 1478 sll %l2,30,%i5 1479 xor %l4,%i3,%i4 1480 srl %l2,2,%l2 1481 add %i4,%l0,%l0 1482 or %i5,%l2,%l2 1483 add %o7,%l0,%l0 1484 1485 ld [%i0+0],%o0 1486 ld [%i0+4],%o1 1487 ld [%i0+8],%o2 1488 ld [%i0+12],%o3 1489 add %i1,64,%i1 1490 ld [%i0+16],%o4 1491 cmp %i1,%i2 1492 1493 add %l0,%o0,%l0 1494 st %l0,[%i0+0] 1495 add %l1,%o1,%l1 1496 st %l1,[%i0+4] 1497 add %l2,%o2,%l2 1498 st %l2,[%i0+8] 1499 add %l3,%o3,%l3 1500 st %l3,[%i0+12] 1501 add %l4,%o4,%l4 1502 st %l4,[%i0+16] 1503 1504 bne %xcc,.Lloop 1505 andn %i1,7,%i3 1506 1507 ret 1508 restore 1509.type sha1_block_data_order,#function 1510.size sha1_block_data_order,(.-sha1_block_data_order) 1511.asciz "SHA1 block transform for SPARCv9, CRYPTOGAMS by <appro@openssl.org>" 1512.align 4 1513