Browse Subversion RepositoryLog of /branches/mty-makai/crypt64.S
Revision 192 - (view) (download) (annotate) - [select for diffs] Modified Mon May 26 06:29:35 2008 UTC (15 years, 10 months ago) by notanpe File length: 7501 byte(s) Diff to previous 148 シーズン 2 に向けて Revision 148 - (view) (download) (annotate) - [select for diffs] Modified Mon Apr 23 14:02:47 2007 UTC (16 years, 11 months ago) by notanpe File length: 7571 byte(s) Diff to previous 125 マージとFreeBSD&Solaris対応。 Revision 125 - (view) (download) (annotate) - [select for diffs] Modified Mon Apr 16 14:50:11 2007 UTC (16 years, 11 months ago) by notanpe File length: 7183 byte(s) Diff to previous 121 魔改造用ブランチ Revision 121 - (view) (download) (annotate) - [select for diffs] Modified Sun Apr 15 06:23:51 2007 UTC (16 years, 11 months ago) by chapuni Original Path: trunk/naniya/mty/crypt64.S File length: 7183 byte(s) Diff to previous 114 デバッグモードにおけるCycle計時を、コアループ/比較器別に集計するように改良。 リリースバージョンには関係ない…ハズ! Revision 114 - (view) (download) (annotate) - [select for diffs] Modified Tue Apr 10 02:22:06 2007 UTC (17 years ago) by chapuni Original Path: trunk/naniya/mty/crypt64.S File length: 6935 byte(s) Diff to previous 107 リポジトリ構造を慣例のものに変更。 ついでに、svn:keywords のプロパティを付加。 (auto-propsってリポジトリ属性だっけ?) Revision 107 - (view) (download) (annotate) - [select for diffs] Modified Fri Apr 6 02:42:35 2007 UTC (17 years ago) by chapuni Original Path: mty/crypt64.S File length: 6935 byte(s) Diff to previous 85 USE_64 時、演算で破壊される T (%rsi) をポインタで利用するため、演算後に設定するようにしました。 Revision 85 - (view) (download) (annotate) - [select for diffs] Modified Wed Apr 4 02:08:01 2007 UTC (17 years ago) by notanpe Original Path: mty/crypt64.S File length: 6784 byte(s) Diff to previous 83 Fastcall がダメな環境への対応。 Revision 83 - (view) (download) (annotate) - [select for diffs] Modified Tue Apr 3 04:15:10 2007 UTC (17 years ago) by chapuni Original Path: mty/crypt64.S File length: 6671 byte(s) Diff to previous 46 ワークエリアを、Johnオリジナルで定義されていた場所ではなく、mty.c にて用意した場所を用いるようにした。その結果、なんとなく含めていたムダなコードを排除せり。 ていうかなぜかRev.79にて速度低下の副作用があった。キャッシュ干渉の可能性があるようなので、Rev.79は再度調査する必要があるだろう。 ついでに、x64 ABIにおいて、 r8-r11 が破壊される前提に書き換えた。 Revision 46 - (view) (download) (annotate) - [select for diffs] Modified Wed Mar 28 08:05:12 2007 UTC (17 years ago) by chapuni Original Path: mty/crypt64.S File length: 6649 byte(s) Diff to previous 18 これまで仕込んできたモジュールを晴れて結合できます。ターゲット数制限が変わりました。制限がかかってる場所があるため、無制限ではありません。また、比較器前段を、 cmp.S を用いずに自前で生成するようにしたため、タゲ数が少ないときにやや速度が上がります。 そんなワケで、cmp.S および expr.[ch] は、晴れて用済みになりました。 ついでにもう使うことがないであろう x64-sse.S も、用済み扱いにしました。 Cycle表示は、デバッグ版でないときは殺すようにしました。C2Dなどではどうやら RDTSC 命令がエミュレート実行されているもようです。 Revision 18 - (view) (download) (annotate) - [select for diffs] Modified Sun Mar 11 01:00:25 2007 UTC (17 years, 1 month ago) by chapuni Original Path: mty/crypt64.S File length: 7062 byte(s) Diff to previous 17 64ALUにて、現在のインデクス指定でスタックを突き破っていたので対処。 Revision 17 - (view) (download) (annotate) - [select for diffs] Modified Sat Mar 10 17:22:11 2007 UTC (17 years, 1 month ago) by chapuni Original Path: mty/crypt64.S File length: 7055 byte(s) Diff to previous 15 x64(ALU)サポートを入れたことによる大改変。というよりは200509版に追従したりしなかったり。 この版で使用する式はJohnのものではないので、昔使っていたマクロをブラッシュアップして復活。 ついでにx64 XMM版をつくってみたところ、思ってたより成績がいいので採用。つまり x64-sse.S は今のところお役ご免。 Revision 15 - (view) (download) (annotate) - [select for diffs] Modified Fri Mar 9 11:18:28 2007 UTC (17 years, 1 month ago) by chapuni Original Path: mty/crypt64.S File length: 5140 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) (annotate) - [select for diffs] Modified Fri Mar 9 06:49:26 2007 UTC (17 years, 1 month ago) by chapuni Original Path: mty/crypt64.S File length: 5564 byte(s) Diff to previous 11 種別 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 11 - (view) (download) (annotate) - [select for diffs] Modified Wed Mar 7 09:27:00 2007 UTC (17 years, 1 month ago) by chapuni Original Path: mty/crypt64.S File length: 5561 byte(s) Diff to previous 9 AMD64 では、32ビットオフセットがメモリ全域を指せなくなることがあるため、 ksd のポインタ方法をPC相対可能なように改め、コピーされるコードブロックのどまんなかに移動。 ついでに movs しなければならないアーキテクチャ用に、インデクスのサイズを可変にする。 Revision 9 - (view) (download) (annotate) - [select for diffs] Modified Tue Mar 6 12:37:55 2007 UTC (17 years, 1 month ago) by chapuni Original Path: mty/crypt64.S File length: 5421 byte(s) Diff to previous 5 AMD64 対応。Suse(x86-64)某にて確認。 64ビット版では、通常演算で uint64_t を多用するため そのへんに気をつけていろいろ改修。 crypt64.S は、実質的な変更は少ないが、変更行数は多い。 Revision 5 - (view) (download) (annotate) - [select for diffs] Modified Fri Mar 2 18:15:00 2007 UTC (17 years, 1 month ago) by chapuni Original Path: mty/crypt64.S File length: 5823 byte(s) Diff to previous 1 姑息な最適化を施す。 大幅に整理。 XMM統合。 Revision 1 - (view) (download) (annotate) - [select for diffs] Added Thu Mar 1 14:32:05 2007 UTC (17 years, 1 month ago) by chapuni Original Path: mty/crypt64.S File length: 6056 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.
|