Browse Subversion RepositoryLog of /trunk/naniya/mty/mty.c
Revision 120 - (view) (download) (as text) (annotate) - [select for diffs] Modified Sat Apr 14 12:22:49 2007 UTC (17 years ago) by notanpe File length: 22858 byte(s) Diff to previous 119 MMXの場合に速度表示がおかしくなるのを修正。 Revision 119 - (view) (download) (as text) (annotate) - [select for diffs] Modified Fri Apr 13 03:09:02 2007 UTC (17 years ago) by notanpe File length: 21775 byte(s) Diff to previous 116 速度表示関係の更新とMakefileのミスを修正。 Revision 116 - (view) (download) (as text) (annotate) - [select for diffs] Modified Tue Apr 10 13:52:39 2007 UTC (17 years ago) by notanpe File length: 20985 byte(s) Diff to previous 115 時間のチェック頻度を10分の1に変更。 Revision 115 - (view) (download) (as text) (annotate) - [select for diffs] Modified Tue Apr 10 10:30:12 2007 UTC (17 years ago) by notanpe File length: 20982 byte(s) Diff to previous 114 速度表示を変更。起動からの平均と区間の速度を表示。 Revision 114 - (view) (download) (as text) (annotate) - [select for diffs] Modified Tue Apr 10 02:22:06 2007 UTC (17 years ago) by chapuni File length: 20597 byte(s) Diff to previous 108 リポジトリ構造を慣例のものに変更。 ついでに、svn:keywords のプロパティを付加。 (auto-propsってリポジトリ属性だっけ?) Revision 108 - (view) (download) (as text) (annotate) - [select for diffs] Modified Fri Apr 6 02:49:57 2007 UTC (17 years ago) by chapuni Original Path: mty/mty.c File length: 20597 byte(s) Diff to previous 99 PARAM::hit[] を廃止し、PARAM::t[] を伸ばす方向に記述を変更しました。 随所に散らばっていた t 関係のマジックナンバーを、crypt64.h, synth.h にて定義しました。 ワークエリア割り当ては、PARAM::hit[]廃止に伴い、tにさしかかるように取ることにしました。 disp_rm() において、disp==0 の最適化を入れました。 USE_64 時においても PTR_T は SI のまま使えるようにしたので、レジスタ割り当てを本来あるべき(に近い)姿に変更しました。 合成中に頻出する操作をまとめ、 reg_not(), reg_clr() を新設しました。 synth_assemble_lr() において、最初の積項を R6 で計算し R7 へ移動していましたが、これを直接 R7 上に展開するように最適化しました。 Revision 99 - (view) (download) (as text) (annotate) - [select for diffs] Modified Thu Apr 5 11:09:59 2007 UTC (17 years ago) by chapuni Original Path: mty/mty.c File length: 20585 byte(s) Diff to previous 93 モジュール wdict.[ch] を新規作成し、辞書関係の記述を移動。 ついでに popcnt32() などを util.h へ移す。 動作に影響はない、ハズ。 Revision 93 - (view) (download) (as text) (annotate) - [select for diffs] Modified Wed Apr 4 14:57:28 2007 UTC (17 years ago) by chapuni Original Path: mty/mty.c File length: 20579 byte(s) Diff to previous 84 辞書だけじゃなく、論理項の結果もちゃんと出るようにしました。これで実用になるでしょう。 …って思って検証してたら、どうやら被覆最適化がバグってたもよう。一時的に殺してあります。 Revision 84 - (view) (download) (as text) (annotate) - [select for diffs] Modified Tue Apr 3 04:20:09 2007 UTC (17 years ago) by chapuni Original Path: mty/mty.c File length: 20499 byte(s) Diff to previous 77 転置のつくりかた/取り出し方が x64 では根本的にマズかったので修正。USE_64, USE_64_XMM にて確認。 ついでに、比較ビット中ヒット率も表示するようにした(デバッグモード)。 Revision 77 - (view) (download) (as text) (annotate) - [select for diffs] Modified Mon Apr 2 05:32:38 2007 UTC (17 years ago) by chapuni Original Path: mty/mty.c File length: 20186 byte(s) Diff to previous 74 開発者にしか関係ないけど、デバッグメッセージを役に立つ方向に変更。 Revision 74 - (view) (download) (as text) (annotate) - [select for diffs] Modified Sun Apr 1 08:38:32 2007 UTC (17 years ago) by chapuni Original Path: mty/mty.c File length: 19940 byte(s) Diff to previous 46 大量検索もどきを実装。 すでにわかっている不具合がたくさんあるので、超地雷です。 あちこちに残っている制限はあとで外します。 数十万行を喰わせると死ぬほど遅いのはどうにかします。 Revision 46 - (view) (download) (as text) (annotate) - [select for diffs] Modified Wed Mar 28 08:05:12 2007 UTC (17 years ago) by chapuni Original Path: mty/mty.c File length: 19809 byte(s) Diff to previous 42 これまで仕込んできたモジュールを晴れて結合できます。ターゲット数制限が変わりました。制限がかかってる場所があるため、無制限ではありません。また、比較器前段を、 cmp.S を用いずに自前で生成するようにしたため、タゲ数が少ないときにやや速度が上がります。 そんなワケで、cmp.S および expr.[ch] は、晴れて用済みになりました。 ついでにもう使うことがないであろう x64-sse.S も、用済み扱いにしました。 Cycle表示は、デバッグ版でないときは殺すようにしました。C2Dなどではどうやら RDTSC 命令がエミュレート実行されているもようです。 Revision 42 - (view) (download) (as text) (annotate) - [select for diffs] Modified Wed Mar 28 04:35:27 2007 UTC (17 years ago) by chapuni Original Path: mty/mty.c File length: 20587 byte(s) Diff to previous 41 crypt64 に関する定義(SLICEなども)を、crypt64.hに切り離しました。 Revision 41 - (view) (download) (as text) (annotate) - [select for diffs] Modified Wed Mar 28 03:20:38 2007 UTC (17 years ago) by chapuni Original Path: mty/mty.c File length: 21616 byte(s) Diff to previous 39 DES定数テーブル tr_pc1, tr_fp, ks_ls を、ファイル desconst.c に分離しました。 Revision 39 - (view) (download) (as text) (annotate) - [select for diffs] Modified Tue Mar 27 10:53:45 2007 UTC (17 years ago) by chapuni Original Path: mty/mty.c File length: 22455 byte(s) Diff to previous 29 ヲナヌー辞書の痕跡(USE_DT)を条件除外した。 cp932[] を、cp932.[ch] に切り離した。(ちうか名前変えたいよね) translate.h の文字コードがやや腐ってたので変換。 Revision 29 - (view) (download) (as text) (annotate) - [select for diffs] Modified Mon Mar 19 04:56:09 2007 UTC (17 years ago) by chapuni Original Path: mty/mty.c File length: 22345 byte(s) Diff to previous 26 @14における、[64:65]のクリアは、ループ回す必要がないね。という些細な変更。 Revision 26 - (view) (download) (as text) (annotate) - [select for diffs] Modified Sun Mar 18 07:40:49 2007 UTC (17 years ago) by chapuni Original Path: mty/mty.c File length: 22375 byte(s) Diff to previous 25 ソースを分割。 expr.c ... 式から命令列を生成 translate.c ... キーバイナリ列から鳥屋っぽいキー文字列生成を試行。 ターゲット依存は config.h に押し込めてみました。 キースケジューリングも切り離そうと思ったけどそれは次の機会に。 Revision 25 - (view) (download) (as text) (annotate) - [select for diffs] Modified Sat Mar 17 12:20:48 2007 UTC (17 years ago) by chapuni Original Path: mty/mty.c File length: 32783 byte(s) Diff to previous 24 key_inc() にて、 N_STRIDE の変更に弱い部分が1箇所あったので清書。 Revision 24 - (view) (download) (as text) (annotate) - [select for diffs] Modified Sat Mar 17 12:11:18 2007 UTC (17 years ago) by chapuni Original Path: mty/mty.c File length: 32812 byte(s) Diff to previous 23 ログ出力周りを整理。ついでにエラー処理を盛り込む。 実際のエラーにおける挙動に関しては未検証。 Revision 23 - (view) (download) (as text) (annotate) - [select for diffs] Modified Sat Mar 17 10:23:30 2007 UTC (17 years ago) by notanpe Original Path: mty/mty.c File length: 32867 byte(s) Diff to previous 22 expr_buf の宣言部も TARGET_SIZ で。 ついでに SIZE にしようかと迷ったけど、宗教問題になるので遠慮。w Revision 22 - (view) (download) (as text) (annotate) - [select for diffs] Modified Fri Mar 16 15:17:25 2007 UTC (17 years ago) by notanpe Original Path: mty/mty.c File length: 32862 byte(s) Diff to previous 21 target.txt が無い場合の対策。 鳥屋は assert() が好きなようなので、あわせてみた。 決してコミットのテストではない。 Revision 21 - (view) (download) (as text) (annotate) - [select for diffs] Modified Fri Mar 16 02:13:44 2007 UTC (17 years ago) by chapuni Original Path: mty/mty.c File length: 32840 byte(s) Diff to previous 20 MSVCRTでは行バッファリング(_IOLBF)が古バッファリングになってしまうため、ログファイル log.txt がキレイに書き出せていなかった。 _IONBF で定義し直す。 (Cygwin, glibc ではこれで問題なかったんだよなぁ…) Revision 20 - (view) (download) (as text) (annotate) - [select for diffs] Modified Mon Mar 12 09:25:48 2007 UTC (17 years, 1 month ago) by chapuni Original Path: mty/mty.c File length: 32788 byte(s) Diff to previous 15 BSDに敬意を表して、MMAP(2)に与えるシンボルは MAP_ANON だろっ。(の談) ptrdiff_t は、stddef.h にいるよ! ついでに、CRYPT64_CLOBBER を、USE_64 においても定義しておく。 そろそろ autoconf だなおい。 Revision 15 - (view) (download) (as text) (annotate) - [select for diffs] Modified Fri Mar 9 11:18:28 2007 UTC (17 years, 1 month ago) by chapuni Original Path: mty/mty.c File length: 32713 byte(s) Diff to previous 14 * 鍵シフトスケジュール(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)に変更。 Revision 14 - (view) (download) (as text) (annotate) - [select for diffs] Modified Fri Mar 9 06:49:26 2007 UTC (17 years, 1 month ago) by chapuni Original Path: mty/mty.c File length: 32107 byte(s) Diff to previous 13 種別 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]のゼロクリアを、ループ内に移動。 Revision 13 - (view) (download) (as text) (annotate) - [select for diffs] Modified Wed Mar 7 12:41:41 2007 UTC (17 years, 1 month ago) by chapuni Original Path: mty/mty.c File length: 30597 byte(s) Diff to previous 10 Suseでなぜか ptrdiff_t が定義されていないので、てきとうなヘッダでごまかす。 Visual Studio 8 で、 USE_MMX 時に定義すべき int8_t が欠落していたため追加。 Revision 10 - (view) (download) (as text) (annotate) - [select for diffs] Modified Wed Mar 7 07:07:03 2007 UTC (17 years, 1 month ago) by chapuni Original Path: mty/mty.c File length: 30554 byte(s) Diff to previous 9 Visual Studio 8 (W32/x86)にて調整。 シンボルが USE_MMX になっていなかった箇所が残っていたため修正。 他、GCC(Mingw) Linux x86-64 にて動作ひととおり確認。 Revision 9 - (view) (download) (as text) (annotate) - [select for diffs] Modified Tue Mar 6 12:37:55 2007 UTC (17 years, 1 month ago) by chapuni Original Path: mty/mty.c File length: 30660 byte(s) Diff to previous 6 AMD64 対応。Suse(x86-64)某にて確認。 64ビット版では、通常演算で uint64_t を多用するため そのへんに気をつけていろいろ改修。 crypt64.S は、実質的な変更は少ないが、変更行数は多い。 Revision 6 - (view) (download) (as text) (annotate) - [select for diffs] Modified Fri Mar 2 18:15:39 2007 UTC (17 years, 1 month ago) by chapuni Original Path: mty/mty.c File length: 30379 byte(s) Diff to previous 2 XMMに対応。ついでにMMXとXXMのコードベース統一を図る。 Revision 2 - (view) (download) (as text) (annotate) - [select for diffs] Modified Fri Mar 2 07:03:17 2007 UTC (17 years, 1 month ago) by chapuni Original Path: mty/mty.c File length: 29957 byte(s) Diff to previous 1 W2k などにおいて、XP 拡張された引数を mmap しようとし失敗していたため、 対策として、legacy malloc() を試みるように変更。 Revision 1 - (view) (download) (as text) (annotate) - [select for diffs] Added Thu Mar 1 14:32:05 2007 UTC (17 years, 1 month ago) by chapuni Original Path: mty/mty.c File length: 29732 byte(s) John由来の x86-mmx.S をくっつけてみた。 This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, enter a numeric revision.
|