#include "dkcOSIndependent.h"
md5_vc_mmx_pd.hのインクルード依存関係図
関数 | |
static DKC_INLINE | md5_mmx_double_update (uint32 abcd0[4], uint32 abcd1[4], const uint32 in0[16], const uint32 in1[16]) |
|
md5_vc_mmx_pd.h の 8 行で定義されています。 00017 { 00018 uint64 abcd[4]; 00019 uint64 tinpo[16]; 00020 const uint64 tempv = 0xFFFFFFFFFFFFFFFF; 00021 int i; 00022 00023 abcd[0] = ((abcd0[0] << 32) | abcd1[0]); 00024 abcd[1] = ((abcd0[1] << 32) | abcd1[1]); 00025 abcd[2] = ((abcd0[2] << 32) | abcd1[2]); 00026 abcd[3] = ((abcd0[3] << 32) | abcd1[3]); 00027 00028 for(i=0;i<16;i++){ 00029 tinpo[i] = ((in0[i] << 32) | in1[i]); 00030 } 00031 00032 00033 _asm movq mm0,abcd[0] 00034 00035 _asm movq mm1,abcd[1] 00036 00037 _asm movq mm2,abcd[2] 00038 00039 _asm movq mm3,abcd[3] 00040 00041 00042 _asm movq mm5, tempv 00043 00044 00045 _asm pxor mm2,mm3 00046 _asm pand mm1,mm2 00047 _asm pxor mm3,mm1 00048 _asm movq mm4,mm3 00049 _asm paddd mm4,(tinpo[0] + 0xd76aa478) 00050 _asm paddd mm0,mm4 00051 _asm movq mm4,mm0 00052 _asm psllq mm4,7 00053 _asm psrlq mm0,32-7 00054 _asm por mm4,mm0 00055 _asm paddd mm4,mm1 00056 _asm movq mm0,mm4; 00057 00058 _asm pxor mm1,mm2 00059 _asm pand mm0,mm1 00060 _asm pxor mm2,mm0 00061 _asm movq mm4,mm2 00062 _asm paddd mm4,(tinpo[1] + 0xe8c7b756) 00063 _asm paddd mm3,mm4 00064 _asm movq mm4,mm3 00065 _asm psllq mm4,12 00066 _asm psrlq mm3,32-12 00067 _asm por mm4,mm3 00068 _asm paddd mm4,mm0 00069 _asm movq mm3,mm4; 00070 00071 _asm pxor mm0,mm1 00072 _asm pand mm3,mm0 00073 _asm pxor mm1,mm3 00074 _asm movq mm4,mm1 00075 _asm paddd mm4,(tinpo[2] + 0x242070db) 00076 _asm paddd mm2,mm4 00077 _asm movq mm4,mm2 00078 _asm psllq mm4,17 00079 _asm psrlq mm2,32-17 00080 _asm por mm4,mm2 00081 _asm paddd mm4,mm3 00082 _asm movq mm2,mm4; 00083 00084 _asm pxor mm3,mm0 00085 _asm pand mm2,mm3 00086 _asm pxor mm0,mm2 00087 _asm movq mm4,mm0 00088 _asm paddd mm4,(tinpo[3] + 0xc1bdceee) 00089 _asm paddd mm1,mm4 00090 _asm movq mm4,mm1 00091 _asm psllq mm4,22 00092 _asm psrlq mm1,32-22 00093 _asm por mm4,mm1 00094 _asm paddd mm4,mm2 00095 _asm movq mm1,mm4; 00096 00097 _asm pxor mm2,mm3 00098 _asm pand mm1,mm2 00099 _asm pxor mm3,mm1 00100 _asm movq mm4,mm3 00101 _asm paddd mm4,(tinpo[4] + 0xf57c0faf) 00102 _asm paddd mm0,mm4 00103 _asm movq mm4,mm0 00104 _asm psllq mm4,7 00105 _asm psrlq mm0,32-7 00106 _asm por mm4,mm0 00107 _asm paddd mm4,mm1 00108 _asm movq mm0,mm4; 00109 00110 _asm pxor mm1,mm2 00111 _asm pand mm0,mm1 00112 _asm pxor mm2,mm0 00113 _asm movq mm4,mm2 00114 _asm paddd mm4,(tinpo[5] + 0x4787c62a) 00115 _asm paddd mm3,mm4 00116 _asm movq mm4,mm3 00117 _asm psllq mm4,12 00118 _asm psrlq mm3,32-12 00119 _asm por mm4,mm3 00120 _asm paddd mm4,mm0 00121 _asm movq mm3,mm4; 00122 00123 _asm pxor mm0,mm1 00124 _asm pand mm3,mm0 00125 _asm pxor mm1,mm3 00126 _asm movq mm4,mm1 00127 _asm paddd mm4,(tinpo[6] + 0xa8304613) 00128 _asm paddd mm2,mm4 00129 _asm movq mm4,mm2 00130 _asm psllq mm4,17 00131 _asm psrlq mm2,32-17 00132 _asm por mm4,mm2 00133 _asm paddd mm4,mm3 00134 _asm movq mm2,mm4; 00135 00136 _asm pxor mm3,mm0 00137 _asm pand mm2,mm3 00138 _asm pxor mm0,mm2 00139 _asm movq mm4,mm0 00140 _asm paddd mm4,(tinpo[7] + 0xfd469501) 00141 _asm paddd mm1,mm4 00142 _asm movq mm4,mm1 00143 _asm psllq mm4,22 00144 _asm psrlq mm1,32-22 00145 _asm por mm4,mm1 00146 _asm paddd mm4,mm2 00147 _asm movq mm1,mm4; 00148 00149 _asm pxor mm2,mm3 00150 _asm pand mm1,mm2 00151 _asm pxor mm3,mm1 00152 _asm movq mm4,mm3 00153 _asm paddd mm4,(tinpo[8] + 0x698098d8) 00154 _asm paddd mm0,mm4 00155 _asm movq mm4,mm0 00156 _asm psllq mm4,7 00157 _asm psrlq mm0,32-7 00158 _asm por mm4,mm0 00159 _asm paddd mm4,mm1 00160 _asm movq mm0,mm4; 00161 00162 _asm pxor mm1,mm2 00163 _asm pand mm0,mm1 00164 _asm pxor mm2,mm0 00165 _asm movq mm4,mm2 00166 _asm paddd mm4,(tinpo[9] + 0x8b44f7af) 00167 _asm paddd mm3,mm4 00168 _asm movq mm4,mm3 00169 _asm psllq mm4,12 00170 _asm psrlq mm3,32-12 00171 _asm por mm4,mm3 00172 _asm paddd mm4,mm0 00173 _asm movq mm3,mm4; 00174 00175 _asm pxor mm0,mm1 00176 _asm pand mm3,mm0 00177 _asm pxor mm1,mm3 00178 _asm movq mm4,mm1 00179 _asm paddd mm4,(tinpo[10] + 0xffff5bb1) 00180 _asm paddd mm2,mm4 00181 _asm movq mm4,mm2 00182 _asm psllq mm4,17 00183 _asm psrlq mm2,32-17 00184 _asm por mm4,mm2 00185 _asm paddd mm4,mm3 00186 _asm movq mm2,mm4; 00187 00188 _asm pxor mm3,mm0 00189 _asm pand mm2,mm3 00190 _asm pxor mm0,mm2 00191 _asm movq mm4,mm0 00192 _asm paddd mm4,(tinpo[11] + 0x895cd7be) 00193 _asm paddd mm1,mm4 00194 _asm movq mm4,mm1 00195 _asm psllq mm4,22 00196 _asm psrlq mm1,32-22 00197 _asm por mm4,mm1 00198 _asm paddd mm4,mm2 00199 _asm movq mm1,mm4; 00200 00201 _asm pxor mm2,mm3 00202 _asm pand mm1,mm2 00203 _asm pxor mm3,mm1 00204 _asm movq mm4,mm3 00205 _asm paddd mm4,(tinpo[12] + 0x6b901122) 00206 _asm paddd mm0,mm4 00207 _asm movq mm4,mm0 00208 _asm psllq mm4,7 00209 _asm psrlq mm0,32-7 00210 _asm por mm4,mm0 00211 _asm paddd mm4,mm1 00212 _asm movq mm0,mm4; 00213 00214 _asm pxor mm1,mm2 00215 _asm pand mm0,mm1 00216 _asm pxor mm2,mm0 00217 _asm movq mm4,mm2 00218 _asm paddd mm4,(tinpo[13] + 0xfd987193) 00219 _asm paddd mm3,mm4 00220 _asm movq mm4,mm3 00221 _asm psllq mm4,12 00222 _asm psrlq mm3,32-12 00223 _asm por mm4,mm3 00224 _asm paddd mm4,mm0 00225 _asm movq mm3,mm4; 00226 00227 _asm pxor mm0,mm1 00228 _asm pand mm3,mm0 00229 _asm pxor mm1,mm3 00230 _asm movq mm4,mm1 00231 _asm paddd mm4,(tinpo[14] + 0xa679438e) 00232 _asm paddd mm2,mm4 00233 _asm movq mm4,mm2 00234 _asm psllq mm4,17 00235 _asm psrlq mm2,32-17 00236 _asm por mm4,mm2 00237 _asm paddd mm4,mm3 00238 _asm movq mm2,mm4; 00239 00240 _asm pxor mm3,mm0 00241 _asm pand mm2,mm3 00242 _asm pxor mm0,mm2 00243 _asm movq mm4,mm0 00244 _asm paddd mm4,(tinpo[15] + 0x49b40821) 00245 _asm paddd mm1,mm4 00246 _asm movq mm4,mm1 00247 _asm psllq mm4,22 00248 _asm psrlq mm1,32-22 00249 _asm por mm4,mm1 00250 _asm paddd mm4,mm2 00251 _asm movq mm1,mm4; 00252 00253 00254 _asm pxor mm1,mm2 00255 _asm pand mm3,mm1 00256 _asm pxor mm2,mm3 00257 _asm movq mm4,mm2 00258 _asm paddd mm4,(tinpo[1] + 0xf61e2562) 00259 _asm paddd mm0,mm4 00260 _asm movq mm4,mm0 00261 _asm psllq mm4,5 00262 _asm psrlq mm0,32-5 00263 _asm por mm4,mm0 00264 _asm paddd mm4,mm1 00265 _asm movq mm0,mm4; 00266 00267 _asm pxor mm0,mm1 00268 _asm pand mm2,mm0 00269 _asm pxor mm1,mm2 00270 _asm movq mm4,mm1 00271 _asm paddd mm4,(tinpo[6] + 0xc040b340) 00272 _asm paddd mm3,mm4 00273 _asm movq mm4,mm3 00274 _asm psllq mm4,9 00275 _asm psrlq mm3,32-9 00276 _asm por mm4,mm3 00277 _asm paddd mm4,mm0 00278 _asm movq mm3,mm4; 00279 00280 _asm pxor mm3,mm0 00281 _asm pand mm1,mm3 00282 _asm pxor mm0,mm1 00283 _asm movq mm4,mm0 00284 _asm paddd mm4,(tinpo[11] + 0x265e5a51) 00285 _asm paddd mm2,mm4 00286 _asm movq mm4,mm2 00287 _asm psllq mm4,14 00288 _asm psrlq mm2,32-14 00289 _asm por mm4,mm2 00290 _asm paddd mm4,mm3 00291 _asm movq mm2,mm4; 00292 00293 _asm pxor mm2,mm3 00294 _asm pand mm0,mm2 00295 _asm pxor mm3,mm0 00296 _asm movq mm4,mm3 00297 _asm paddd mm4,(tinpo[0] + 0xe9b6c7aa) 00298 _asm paddd mm1,mm4 00299 _asm movq mm4,mm1 00300 _asm psllq mm4,20 00301 _asm psrlq mm1,32-20 00302 _asm por mm4,mm1 00303 _asm paddd mm4,mm2 00304 _asm movq mm1,mm4; 00305 00306 _asm pxor mm1,mm2 00307 _asm pand mm3,mm1 00308 _asm pxor mm2,mm3 00309 _asm movq mm4,mm2 00310 _asm paddd mm4,(tinpo[5] + 0xd62f105d) 00311 _asm paddd mm0,mm4 00312 _asm movq mm4,mm0 00313 _asm psllq mm4,5 00314 _asm psrlq mm0,32-5 00315 _asm por mm4,mm0 00316 _asm paddd mm4,mm1 00317 _asm movq mm0,mm4; 00318 00319 _asm pxor mm0,mm1 00320 _asm pand mm2,mm0 00321 _asm pxor mm1,mm2 00322 _asm movq mm4,mm1 00323 _asm paddd mm4,(tinpo[10] + 0x02441453) 00324 _asm paddd mm3,mm4 00325 _asm movq mm4,mm3 00326 _asm psllq mm4,9 00327 _asm psrlq mm3,32-9 00328 _asm por mm4,mm3 00329 _asm paddd mm4,mm0 00330 _asm movq mm3,mm4; 00331 00332 _asm pxor mm3,mm0 00333 _asm pand mm1,mm3 00334 _asm pxor mm0,mm1 00335 _asm movq mm4,mm0 00336 _asm paddd mm4,(tinpo[15] + 0xd8a1e681) 00337 _asm paddd mm2,mm4 00338 _asm movq mm4,mm2 00339 _asm psllq mm4,14 00340 _asm psrlq mm2,32-14 00341 _asm por mm4,mm2 00342 _asm paddd mm4,mm3 00343 _asm movq mm2,mm4; 00344 00345 _asm pxor mm2,mm3 00346 _asm pand mm0,mm2 00347 _asm pxor mm3,mm0 00348 _asm movq mm4,mm3 00349 _asm paddd mm4,(tinpo[4] + 0xe7d3fbc8) 00350 _asm paddd mm1,mm4 00351 _asm movq mm4,mm1 00352 _asm psllq mm4,20 00353 _asm psrlq mm1,32-20 00354 _asm por mm4,mm1 00355 _asm paddd mm4,mm2 00356 _asm movq mm1,mm4; 00357 00358 _asm pxor mm1,mm2 00359 _asm pand mm3,mm1 00360 _asm pxor mm2,mm3 00361 _asm movq mm4,mm2 00362 _asm paddd mm4,(tinpo[9] + 0x21e1cde6) 00363 _asm paddd mm0,mm4 00364 _asm movq mm4,mm0 00365 _asm psllq mm4,5 00366 _asm psrlq mm0,32-5 00367 _asm por mm4,mm0 00368 _asm paddd mm4,mm1 00369 _asm movq mm0,mm4; 00370 00371 _asm pxor mm0,mm1 00372 _asm pand mm2,mm0 00373 _asm pxor mm1,mm2 00374 _asm movq mm4,mm1 00375 _asm paddd mm4,(tinpo[14] + 0xc33707d6) 00376 _asm paddd mm3,mm4 00377 _asm movq mm4,mm3 00378 _asm psllq mm4,9 00379 _asm psrlq mm3,32-9 00380 _asm por mm4,mm3 00381 _asm paddd mm4,mm0 00382 _asm movq mm3,mm4; 00383 00384 _asm pxor mm3,mm0 00385 _asm pand mm1,mm3 00386 _asm pxor mm0,mm1 00387 _asm movq mm4,mm0 00388 _asm paddd mm4,(tinpo[3] + 0xf4d50d87) 00389 _asm paddd mm2,mm4 00390 _asm movq mm4,mm2 00391 _asm psllq mm4,14 00392 _asm psrlq mm2,32-14 00393 _asm por mm4,mm2 00394 _asm paddd mm4,mm3 00395 _asm movq mm2,mm4; 00396 00397 _asm pxor mm2,mm3 00398 _asm pand mm0,mm2 00399 _asm pxor mm3,mm0 00400 _asm movq mm4,mm3 00401 _asm paddd mm4,(tinpo[8] + 0x455a14ed) 00402 _asm paddd mm1,mm4 00403 _asm movq mm4,mm1 00404 _asm psllq mm4,20 00405 _asm psrlq mm1,32-20 00406 _asm por mm4,mm1 00407 _asm paddd mm4,mm2 00408 _asm movq mm1,mm4; 00409 00410 _asm pxor mm1,mm2 00411 _asm pand mm3,mm1 00412 _asm pxor mm2,mm3 00413 _asm movq mm4,mm2 00414 _asm paddd mm4,(tinpo[13] + 0xa9e3e905) 00415 _asm paddd mm0,mm4 00416 _asm movq mm4,mm0 00417 _asm psllq mm4,5 00418 _asm psrlq mm0,32-5 00419 _asm por mm4,mm0 00420 _asm paddd mm4,mm1 00421 _asm movq mm0,mm4; 00422 00423 _asm pxor mm0,mm1 00424 _asm pand mm2,mm0 00425 _asm pxor mm1,mm2 00426 _asm movq mm4,mm1 00427 _asm paddd mm4,(tinpo[2] + 0xfcefa3f8) 00428 _asm paddd mm3,mm4 00429 _asm movq mm4,mm3 00430 _asm psllq mm4,9 00431 _asm psrlq mm3,32-9 00432 _asm por mm4,mm3 00433 _asm paddd mm4,mm0 00434 _asm movq mm3,mm4; 00435 00436 _asm pxor mm3,mm0 00437 _asm pand mm1,mm3 00438 _asm pxor mm0,mm1 00439 _asm movq mm4,mm0 00440 _asm paddd mm4,(tinpo[7] + 0x676f02d9) 00441 _asm paddd mm2,mm4 00442 _asm movq mm4,mm2 00443 _asm psllq mm4,14 00444 _asm psrlq mm2,32-14 00445 _asm por mm4,mm2 00446 _asm paddd mm4,mm3 00447 _asm movq mm2,mm4; 00448 00449 _asm pxor mm2,mm3 00450 _asm pand mm0,mm2 00451 _asm pxor mm3,mm0 00452 _asm movq mm4,mm3 00453 _asm paddd mm4,(tinpo[12] + 0x8d2a4c8a) 00454 _asm paddd mm1,mm4 00455 _asm movq mm4,mm1 00456 _asm psllq mm4,20 00457 _asm psrlq mm1,32-20 00458 _asm por mm4,mm1 00459 _asm paddd mm4,mm2 00460 _asm movq mm1,mm4; 00461 00462 00463 _asm pxor mm2,mm3 00464 _asm pxor mm1,mm2 00465 _asm movq mm4,mm1 00466 _asm paddd mm4,(tinpo[5] + 0xfffa3942) 00467 _asm paddd mm0,mm4 00468 _asm movq mm4,mm0 00469 _asm psllq mm4,4 00470 _asm psrlq mm0,32-4 00471 _asm por mm4,mm0 00472 _asm paddd mm4,mm1 00473 _asm movq mm0,mm4; 00474 00475 _asm pxor mm1,mm2 00476 _asm pxor mm0,mm1 00477 _asm movq mm4,mm0 00478 _asm paddd mm4,(tinpo[8] + 0x8771f681) 00479 _asm paddd mm3,mm4 00480 _asm movq mm4,mm3 00481 _asm psllq mm4,11 00482 _asm psrlq mm3,32-11 00483 _asm por mm4,mm3 00484 _asm paddd mm4,mm0 00485 _asm movq mm3,mm4; 00486 00487 _asm pxor mm0,mm1 00488 _asm pxor mm3,mm0 00489 _asm movq mm4,mm3 00490 _asm paddd mm4,(tinpo[11] + 0x6d9d6122) 00491 _asm paddd mm2,mm4 00492 _asm movq mm4,mm2 00493 _asm psllq mm4,16 00494 _asm psrlq mm2,32-16 00495 _asm por mm4,mm2 00496 _asm paddd mm4,mm3 00497 _asm movq mm2,mm4; 00498 00499 _asm pxor mm3,mm0 00500 _asm pxor mm2,mm3 00501 _asm movq mm4,mm2 00502 _asm paddd mm4,(tinpo[14] + 0xfde5380c) 00503 _asm paddd mm1,mm4 00504 _asm movq mm4,mm1 00505 _asm psllq mm4,23 00506 _asm psrlq mm1,32-23 00507 _asm por mm4,mm1 00508 _asm paddd mm4,mm2 00509 _asm movq mm1,mm4; 00510 00511 _asm pxor mm2,mm3 00512 _asm pxor mm1,mm2 00513 _asm movq mm4,mm1 00514 _asm paddd mm4,(tinpo[1] + 0xa4beea44) 00515 _asm paddd mm0,mm4 00516 _asm movq mm4,mm0 00517 _asm psllq mm4,4 00518 _asm psrlq mm0,32-4 00519 _asm por mm4,mm0 00520 _asm paddd mm4,mm1 00521 _asm movq mm0,mm4; 00522 00523 _asm pxor mm1,mm2 00524 _asm pxor mm0,mm1 00525 _asm movq mm4,mm0 00526 _asm paddd mm4,(tinpo[4] + 0x4bdecfa9) 00527 _asm paddd mm3,mm4 00528 _asm movq mm4,mm3 00529 _asm psllq mm4,11 00530 _asm psrlq mm3,32-11 00531 _asm por mm4,mm3 00532 _asm paddd mm4,mm0 00533 _asm movq mm3,mm4; 00534 00535 _asm pxor mm0,mm1 00536 _asm pxor mm3,mm0 00537 _asm movq mm4,mm3 00538 _asm paddd mm4,(tinpo[7] + 0xf6bb4b60) 00539 _asm paddd mm2,mm4 00540 _asm movq mm4,mm2 00541 _asm psllq mm4,16 00542 _asm psrlq mm2,32-16 00543 _asm por mm4,mm2 00544 _asm paddd mm4,mm3 00545 _asm movq mm2,mm4; 00546 00547 _asm pxor mm3,mm0 00548 _asm pxor mm2,mm3 00549 _asm movq mm4,mm2 00550 _asm paddd mm4,(tinpo[10] + 0xbebfbc70) 00551 _asm paddd mm1,mm4 00552 _asm movq mm4,mm1 00553 _asm psllq mm4,23 00554 _asm psrlq mm1,32-23 00555 _asm por mm4,mm1 00556 _asm paddd mm4,mm2 00557 _asm movq mm1,mm4; 00558 00559 _asm pxor mm2,mm3 00560 _asm pxor mm1,mm2 00561 _asm movq mm4,mm1 00562 _asm paddd mm4,(tinpo[13] + 0x289b7ec6) 00563 _asm paddd mm0,mm4 00564 _asm movq mm4,mm0 00565 _asm psllq mm4,4 00566 _asm psrlq mm0,32-4 00567 _asm por mm4,mm0 00568 _asm paddd mm4,mm1 00569 _asm movq mm0,mm4; 00570 00571 _asm pxor mm1,mm2 00572 _asm pxor mm0,mm1 00573 _asm movq mm4,mm0 00574 _asm paddd mm4,(tinpo[0] + 0xeaa127fa) 00575 _asm paddd mm3,mm4 00576 _asm movq mm4,mm3 00577 _asm psllq mm4,11 00578 _asm psrlq mm3,32-11 00579 _asm por mm4,mm3 00580 _asm paddd mm4,mm0 00581 _asm movq mm3,mm4; 00582 00583 _asm pxor mm0,mm1 00584 _asm pxor mm3,mm0 00585 _asm movq mm4,mm3 00586 _asm paddd mm4,(tinpo[3] + 0xd4ef3085) 00587 _asm paddd mm2,mm4 00588 _asm movq mm4,mm2 00589 _asm psllq mm4,16 00590 _asm psrlq mm2,32-16 00591 _asm por mm4,mm2 00592 _asm paddd mm4,mm3 00593 _asm movq mm2,mm4; 00594 00595 _asm pxor mm3,mm0 00596 _asm pxor mm2,mm3 00597 _asm movq mm4,mm2 00598 _asm paddd mm4,(tinpo[6] + 0x04881d05) 00599 _asm paddd mm1,mm4 00600 _asm movq mm4,mm1 00601 _asm psllq mm4,23 00602 _asm psrlq mm1,32-23 00603 _asm por mm4,mm1 00604 _asm paddd mm4,mm2 00605 _asm movq mm1,mm4; 00606 00607 _asm pxor mm2,mm3 00608 _asm pxor mm1,mm2 00609 _asm movq mm4,mm1 00610 _asm paddd mm4,(tinpo[9] + 0xd9d4d039) 00611 _asm paddd mm0,mm4 00612 _asm movq mm4,mm0 00613 _asm psllq mm4,4 00614 _asm psrlq mm0,32-4 00615 _asm por mm4,mm0 00616 _asm paddd mm4,mm1 00617 _asm movq mm0,mm4; 00618 00619 _asm pxor mm1,mm2 00620 _asm pxor mm0,mm1 00621 _asm movq mm4,mm0 00622 _asm paddd mm4,(tinpo[12] + 0xe6db99e5) 00623 _asm paddd mm3,mm4 00624 _asm movq mm4,mm3 00625 _asm psllq mm4,11 00626 _asm psrlq mm3,32-11 00627 _asm por mm4,mm3 00628 _asm paddd mm4,mm0 00629 _asm movq mm3,mm4; 00630 00631 _asm pxor mm0,mm1 00632 _asm pxor mm3,mm0 00633 _asm movq mm4,mm3 00634 _asm paddd mm4,(tinpo[15] + 0x1fa27cf8) 00635 _asm paddd mm2,mm4 00636 _asm movq mm4,mm2 00637 _asm psllq mm4,16 00638 _asm psrlq mm2,32-16 00639 _asm por mm4,mm2 00640 _asm paddd mm4,mm3 00641 _asm movq mm2,mm4; 00642 00643 _asm pxor mm3,mm0 00644 _asm pxor mm2,mm3 00645 _asm movq mm4,mm2 00646 _asm paddd mm4,(tinpo[2] + 0xc4ac5665) 00647 _asm paddd mm1,mm4 00648 _asm movq mm4,mm1 00649 _asm psllq mm4,23 00650 _asm psrlq mm1,32-23 00651 _asm por mm4,mm1 00652 _asm paddd mm4,mm2 00653 _asm movq mm1,mm4; 00654 00655 00656 _asm pandn mm1,mm5 00657 _asm por mm1,mm3 00658 _asm pxor mm2,mm1 00659 _asm movq mm4,mm2 00660 _asm paddd mm4,(tinpo[0] + 0xf4292244) 00661 _asm paddd mm0,mm4 00662 _asm movq mm4,mm0 00663 _asm psllq mm4,6 00664 _asm psrlq mm0,32-6 00665 _asm por mm4,mm0 00666 _asm paddd mm4,mm1 00667 _asm movq mm0,mm4; 00668 00669 _asm pandn mm0,mm5 00670 _asm por mm0,mm2 00671 _asm pxor mm1,mm0 00672 _asm movq mm4,mm1 00673 _asm paddd mm4,(tinpo[7] + 0x432aff97) 00674 _asm paddd mm3,mm4 00675 _asm movq mm4,mm3 00676 _asm psllq mm4,10 00677 _asm psrlq mm3,32-10 00678 _asm por mm4,mm3 00679 _asm paddd mm4,mm0 00680 _asm movq mm3,mm4; 00681 00682 _asm pandn mm3,mm5 00683 _asm por mm3,mm1 00684 _asm pxor mm0,mm3 00685 _asm movq mm4,mm0 00686 _asm paddd mm4,(tinpo[14] + 0xab9423a7) 00687 _asm paddd mm2,mm4 00688 _asm movq mm4,mm2 00689 _asm psllq mm4,15 00690 _asm psrlq mm2,32-15 00691 _asm por mm4,mm2 00692 _asm paddd mm4,mm3 00693 _asm movq mm2,mm4; 00694 00695 _asm pandn mm2,mm5 00696 _asm por mm2,mm0 00697 _asm pxor mm3,mm2 00698 _asm movq mm4,mm3 00699 _asm paddd mm4,(tinpo[5] + 0xfc93a039) 00700 _asm paddd mm1,mm4 00701 _asm movq mm4,mm1 00702 _asm psllq mm4,21 00703 _asm psrlq mm1,32-21 00704 _asm por mm4,mm1 00705 _asm paddd mm4,mm2 00706 _asm movq mm1,mm4; 00707 00708 _asm pandn mm1,mm5 00709 _asm por mm1,mm3 00710 _asm pxor mm2,mm1 00711 _asm movq mm4,mm2 00712 _asm paddd mm4,(tinpo[12] + 0x655b59c3) 00713 _asm paddd mm0,mm4 00714 _asm movq mm4,mm0 00715 _asm psllq mm4,6 00716 _asm psrlq mm0,32-6 00717 _asm por mm4,mm0 00718 _asm paddd mm4,mm1 00719 _asm movq mm0,mm4; 00720 00721 _asm pandn mm0,mm5 00722 _asm por mm0,mm2 00723 _asm pxor mm1,mm0 00724 _asm movq mm4,mm1 00725 _asm paddd mm4,(tinpo[3] + 0x8f0ccc92) 00726 _asm paddd mm3,mm4 00727 _asm movq mm4,mm3 00728 _asm psllq mm4,10 00729 _asm psrlq mm3,32-10 00730 _asm por mm4,mm3 00731 _asm paddd mm4,mm0 00732 _asm movq mm3,mm4; 00733 00734 _asm pandn mm3,mm5 00735 _asm por mm3,mm1 00736 _asm pxor mm0,mm3 00737 _asm movq mm4,mm0 00738 _asm paddd mm4,(tinpo[10] + 0xffeff47d) 00739 _asm paddd mm2,mm4 00740 _asm movq mm4,mm2 00741 _asm psllq mm4,15 00742 _asm psrlq mm2,32-15 00743 _asm por mm4,mm2 00744 _asm paddd mm4,mm3 00745 _asm movq mm2,mm4; 00746 00747 _asm pandn mm2,mm5 00748 _asm por mm2,mm0 00749 _asm pxor mm3,mm2 00750 _asm movq mm4,mm3 00751 _asm paddd mm4,(tinpo[1] + 0x85845dd1) 00752 _asm paddd mm1,mm4 00753 _asm movq mm4,mm1 00754 _asm psllq mm4,21 00755 _asm psrlq mm1,32-21 00756 _asm por mm4,mm1 00757 _asm paddd mm4,mm2 00758 _asm movq mm1,mm4; 00759 00760 _asm pandn mm1,mm5 00761 _asm por mm1,mm3 00762 _asm pxor mm2,mm1 00763 _asm movq mm4,mm2 00764 _asm paddd mm4,(tinpo[8] + 0x6fa87e4f) 00765 _asm paddd mm0,mm4 00766 _asm movq mm4,mm0 00767 _asm psllq mm4,6 00768 _asm psrlq mm0,32-6 00769 _asm por mm4,mm0 00770 _asm paddd mm4,mm1 00771 _asm movq mm0,mm4; 00772 00773 _asm pandn mm0,mm5 00774 _asm por mm0,mm2 00775 _asm pxor mm1,mm0 00776 _asm movq mm4,mm1 00777 _asm paddd mm4,(tinpo[15] + 0xfe2ce6e0) 00778 _asm paddd mm3,mm4 00779 _asm movq mm4,mm3 00780 _asm psllq mm4,10 00781 _asm psrlq mm3,32-10 00782 _asm por mm4,mm3 00783 _asm paddd mm4,mm0 00784 _asm movq mm3,mm4; 00785 00786 _asm pandn mm3,mm5 00787 _asm por mm3,mm1 00788 _asm pxor mm0,mm3 00789 _asm movq mm4,mm0 00790 _asm paddd mm4,(tinpo[6] + 0xa3014314) 00791 _asm paddd mm2,mm4 00792 _asm movq mm4,mm2 00793 _asm psllq mm4,15 00794 _asm psrlq mm2,32-15 00795 _asm por mm4,mm2 00796 _asm paddd mm4,mm3 00797 _asm movq mm2,mm4; 00798 00799 _asm pandn mm2,mm5 00800 _asm por mm2,mm0 00801 _asm pxor mm3,mm2 00802 _asm movq mm4,mm3 00803 _asm paddd mm4,(tinpo[13] + 0x4e0811a1) 00804 _asm paddd mm1,mm4 00805 _asm movq mm4,mm1 00806 _asm psllq mm4,21 00807 _asm psrlq mm1,32-21 00808 _asm por mm4,mm1 00809 _asm paddd mm4,mm2 00810 _asm movq mm1,mm4; 00811 00812 _asm pandn mm1,mm5 00813 _asm por mm1,mm3 00814 _asm pxor mm2,mm1 00815 _asm movq mm4,mm2 00816 _asm paddd mm4,(tinpo[4] + 0xf7537e82) 00817 _asm paddd mm0,mm4 00818 _asm movq mm4,mm0 00819 _asm psllq mm4,6 00820 _asm psrlq mm0,32-6 00821 _asm por mm4,mm0 00822 _asm paddd mm4,mm1 00823 _asm movq mm0,mm4; 00824 00825 _asm pandn mm0,mm5 00826 _asm por mm0,mm2 00827 _asm pxor mm1,mm0 00828 _asm movq mm4,mm1 00829 _asm paddd mm4,(tinpo[11] + 0xbd3af235) 00830 _asm paddd mm3,mm4 00831 _asm movq mm4,mm3 00832 _asm psllq mm4,10 00833 _asm psrlq mm3,32-10 00834 _asm por mm4,mm3 00835 _asm paddd mm4,mm0 00836 _asm movq mm3,mm4; 00837 00838 _asm pandn mm3,mm5 00839 _asm por mm3,mm1 00840 _asm pxor mm0,mm3 00841 _asm movq mm4,mm0 00842 _asm paddd mm4,(tinpo[2] + 0x2ad7d2bb) 00843 _asm paddd mm2,mm4 00844 _asm movq mm4,mm2 00845 _asm psllq mm4,15 00846 _asm psrlq mm2,32-15 00847 _asm por mm4,mm2 00848 _asm paddd mm4,mm3 00849 _asm movq mm2,mm4; 00850 00851 _asm pandn mm2,mm5 00852 _asm por mm2,mm0 00853 _asm pxor mm3,mm2 00854 _asm movq mm4,mm3 00855 _asm paddd mm4,(tinpo[9] + 0xeb86d391) 00856 _asm paddd mm1,mm4 00857 _asm movq mm4,mm1 00858 _asm psllq mm4,21 00859 _asm psrlq mm1,32-21 00860 _asm por mm4,mm1 00861 _asm paddd mm4,mm2 00862 _asm movq mm1,mm4; 00863 00864 _asm emms 00865 00866 00867 00868 }
|