Develop and Download Open Source Software

Browse Subversion Repository

/[naniya]/mty/mty.c

Log of /mty/mty.c

Parent Directory Parent Directory | Revision Log Revision Log


Sticky Revision:
(Current path doesn't exist after revision 113)

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
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
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
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
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
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
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
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
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.

  Diffs between and
  Type of Diff should be a

Back to OSDN">Back to OSDN
ViewVC Help
Powered by ViewVC 1.1.26