メインページ | アルファベット順一覧 | 構成 | ファイル一覧 | 構成メンバ | ファイルメンバ | 関連ページ

md5_vc_mmx_pd.h

説明を見る。
00001 
00002 #ifndef AAAA
00003 #define AAAA
00004 
00005 #include "dkcOSIndependent.h"
00006 
00007 
00008 static DKC_INLINE md5_mmx_double_update(
00009 /* unsigned int abcd0[4],
00010  unsigned int abcd1[4],
00011  const unsigned int in0[16],
00012  const unsigned int in1[16]*/
00013     uint32 abcd0[4],
00014     uint32 abcd1[4],
00015  const uint32 in0[16],
00016  const uint32 in1[16])
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 }
00869 #endif

dkutil_cに対してMon Jan 16 00:39:54 2006に生成されました。  doxygen 1.4.4