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