VineSeed ML アーカイブ



[VineSeed:23167] upload: gmp

  • From: NAKAMURA Kenta <kenta@xxxxxxxxxxxxx>
  • Subject: [VineSeed:23167] upload: gmp
  • Date: Tue, 19 Apr 2011 22:45:27 +0900
中村です。

gmp (http://gmplib.org/) を 4.3.2 に更新しました。
また、configure のオプション指定に不具合があり、i386 の SSE2対応
ライブラリが SSE命令を十分に活用できていませんでした(※)ので修正を
入れています。

以下のファイルを VineSeed に put しています。

   gmp-4.3.2-1vl6.src.rpm

   gmp-4.3.2-1vl6.i686.rpm
   gmp-devel-4.3.2-1vl6.i686.rpm
   gmp-static-4.3.2-1vl6.i686.rpm
   compat32-gmp-4.3.2-1vl6.i686.rpm
   compat32-gmp-devel-4.3.2-1vl6.i686.rpm
   compat32-gmp-static-4.3.2-1vl6.i686.rpm

   gmp-4.3.2-1vl6.x86_64.rpm
   gmp-devel-4.3.2-1vl6.x86_64.rpm
   gmp-static-4.3.2-1vl6.x86_64.rpm


--------
※ 補足

修正後:gmp-4.3.2-1vl6 の /usr/lib/sse2/libgmp.so.3 を objdump すると、
SSE2 命令(pxor など)が使われているのがわかります。

000222a0 <__gmpn_addmul_1>:
   222a0:       8b 54 24 04             mov    0x4(%esp),%edx
   222a4:       8b 44 24 08             mov    0x8(%esp),%eax
   222a8:       8b 4c 24 0c             mov    0xc(%esp),%ecx
   222ac:       0f 6e 7c 24 10          movd   0x10(%esp),%mm7
   222b1:       0f ef f6                pxor   %mm6,%mm6
   222b4:       83 f9 04                cmp    $0x4,%ecx
   222b7:       73 26                   jae    222df <__gmpn_addmul_1+0x3f>
   222b9:       0f 6e 00                movd   (%eax),%mm0
   222bc:       8d 40 04                lea    0x4(%eax),%eax
   222bf:       0f 6e 22                movd   (%edx),%mm4
   222c2:       8d 52 04                lea    0x4(%edx),%edx
   222c5:       0f f4 c7                pmuludq %mm7,%mm0
   (以下略)

修正前:gmp-4.3.1-1vl6 の /usr/lib/sse2/libgmp.so.3

0001f4b8 <__gmpn_addmul_1>:
   1f4b8:       57                      push   %edi
   1f4b9:       56                      push   %esi
   1f4ba:       53                      push   %ebx
   1f4bb:       55                      push   %ebp
   1f4bc:       8b 7c 24 14             mov    0x14(%esp),%edi
   1f4c0:       8b 74 24 18             mov    0x18(%esp),%esi
   1f4c4:       8b 4c 24 1c             mov    0x1c(%esp),%ecx
   1f4c8:       31 db                   xor    %ebx,%ebx
   1f4ca:       83 e1 03                and    $0x3,%ecx
   1f4cd:       74 1c                   je     1f4eb <__gmpn_addmul_1+0x33>
   1f4cf:       8b 06                   mov    (%esi),%eax
   1f4d1:       f7 64 24 20             mull   0x20(%esp)
   (以下略)

==================================================
  NAKAMURA Kenta / 中村健太
  Mail: kenta@xxxxxxxxxxxxx
==================================================