• R/O
  • SSH
  • HTTPS

naniya: Liste der Commits


RSS
Rev. Zeit Autor
r23 2007-03-17 19:23:30 notanpe

expr_buf の宣言部も TARGET_SIZ で。
ついでに SIZE にしようかと迷ったけど、宗教問題になるので遠慮。w

r22 2007-03-17 00:17:25 notanpe

target.txt が無い場合の対策。
鳥屋は assert() が好きなようなので、あわせてみた。
決してコミットのテストではない。

r21 2007-03-16 11:13:44 chapuni

MSVCRTでは行バッファリング(_IOLBF)が古バッファリングになってしまうため、ログファイル log.txt がキレイに書き出せていなかった。 _IONBF で定義し直す。
(Cygwin, glibc ではこれで問題なかったんだよなぁ…)

r20 2007-03-12 18:25:48 chapuni

BSDに敬意を表して、MMAP(2)に与えるシンボルは MAP_ANON だろっ。(の談)
ptrdiff_t は、stddef.h にいるよ!

ついでに、CRYPT64_CLOBBER を、USE_64 においても定義しておく。

そろそろ autoconf だなおい。

r19 2007-03-11 11:07:10 chapuni

20070311にあわせてやや変更。

r18 2007-03-11 10:00:25 chapuni

64ALUにて、現在のインデクス指定でスタックを突き破っていたので対処。

r17 2007-03-11 02:22:11 chapuni

x64(ALU)サポートを入れたことによる大改変。というよりは200509版に追従したりしなかったり。
この版で使用する式はJohnのものではないので、昔使っていたマクロをブラッシュアップして復活。
ついでにx64 XMM版をつくってみたところ、思ってたより成績がいいので採用。つまり x64-sse.S は今のところお役ご免。

r16 2007-03-10 03:15:48 chapuni

Johnの成果とは別に生成したコア。
なかなかいい成績だ。

r15 2007-03-09 20:18:28 chapuni

* 鍵シフトスケジュール(ksd)を、 crypt64.S から mty.c へ移動。この改造は元々200509版にて行われていた。
ks_ls[]の内容を、key64.ks[] に移動しているので注意。

* 比較器生成部で、param.hit[]へのポインタをTに割り振っていたが、LRを指しているDIのみを使用するように変更。

* 呼び出し規約のレジスタ破壊を記述するためのマクロ CRYPT64_CLOBBER を定義。

* crypt64.S 中、CNT, KSI はそれぞれ幅の狭いレジスタを採用。姑息な最適化のため。KSIはもはやインクリメントカウンタになった。
また、レジスタ待避の都合上、DX(破壊)とBX(待避)を入れ替えた。

* 初期LRクリアの際、ゼロレジスタとしてR(0)を用いていたが、AMD64ALUだと予約レジスタとかぶってしまいかねないため、R(7)に変更。

r14 2007-03-09 15:49:26 chapuni

種別 USE_64 (64-bit ALU 使用) を追加。
ただし、今回追加のアセンブラモジュールには対応コードが含まれていません。
準備だけ。

準備として、以下の変更を行う。
* ポインタ BP, SI の役割を入れ替えた。(BP) のとき disp 0 が省略できないため。
* LRがBPとなったため、デフォルトで disp8 がつくようになった。そのためアセンブル時のゲタ OX は、64ビット演算時は 0x00 に固定した。Salt固定のときは crypt64 のエントリを直接呼べる(ハズ)。
reg_op(), reg_mem() 周りを抽象化した。比較器に対して正しいコードが吐けている(200509相当の拡張)。

ついでに、LRがはみ出ている分[64:65]のゼロクリアを、ループ内に移動。

r13 2007-03-07 21:41:41 chapuni

Suseでなぜか ptrdiff_t が定義されていないので、てきとうなヘッダでごまかす。
Visual Studio 8 で、 USE_MMX 時に定義すべき int8_t が欠落していたため追加。

r12 2007-03-07 21:37:17 chapuni

ビルド毎のリリースノートを、READMEから分離して作成。
まずは win32, x64.

r11 2007-03-07 18:27:00 chapuni

AMD64 では、32ビットオフセットがメモリ全域を指せなくなることがあるため、 ksd のポインタ方法をPC相対可能なように改め、コピーされるコードブロックのどまんなかに移動。
ついでに movs しなければならないアーキテクチャ用に、インデクスのサイズを可変にする。

r10 2007-03-07 16:07:03 chapuni

Visual Studio 8 (W32/x86)にて調整。
シンボルが USE_MMX になっていなかった箇所が残っていたため修正。
他、GCC(Mingw) Linux x86-64 にて動作ひととおり確認。

r9 2007-03-06 21:37:55 chapuni

AMD64 対応。Suse(x86-64)某にて確認。
64ビット版では、通常演算で uint64_t を多用するため
そのへんに気をつけていろいろ改修。
crypt64.S は、実質的な変更は少ないが、変更行数は多い。

r8 2007-03-06 20:31:11 chapuni

John-1.7 にて、x86-64.S という名前で登録されていたものをそのまま持ってきた。

r7 2007-03-03 03:24:15 chapuni

日付追加。
プロジェクトページへのリンクを変更。
おせっかいな解説を加えた。

r6 2007-03-03 03:15:39 chapuni

XMMに対応。ついでにMMXとXXMのコードベース統一を図る。

r5 2007-03-03 03:15:00 chapuni

姑息な最適化を施す。
大幅に整理。
XMM統合。

r4 2007-03-03 03:14:01 chapuni

これも John から拝借したもの。

r3 2007-03-03 03:13:01 chapuni

マクロを使用し全般的に書き直す。機能的な変更はないハズ。

r2 2007-03-02 16:03:17 chapuni

W2k などにおいて、XP 拡張された引数を mmap しようとし失敗していたため、
対策として、legacy malloc() を試みるように変更。

r1 2007-03-01 23:32:05 chapuni

John由来の x86-mmx.S をくっつけてみた。

Show on old repository browser