Develop and Download Open Source Software
Login
Create Account
Help
MY OSDN
Find Software
Magazine
Develop
Pastebin
Software
People
PersonalForge
Magazine
Wiki
OSDN
>
Find Software
>
プロジェクト・ナニ屋
プロジェクト・ナニ屋
Summary
Project Summary
Developer Dashboard
Project Reviews
Web Page
Developers
List of RSS Feeds
Statistics
History
Image Gallery
Search Keywords
News
Listed News
Help
Downloads
List of Releases
Help
Source Code
Guide
Browse SVN
Help
Wiki
FrontPage
Title index
Recent changes
Wiki Search
Help
Docs
List Docs
Help
Forums
List of Forums
Open Discussion (2)
Help (2)
Help
Ticket
Ticket List
Milestone List
Type List
Component List
List of frequently used tickets/RSS
Submit New Ticket
Help
Browse Subversion Repository
/
[naniya]
/
branches
/
mty-makai
/
mty.c
Diff of /branches/mty-makai/mty.c
Parent Directory
|
Revision Log
|
Patch
revision
46
by
chapuni
, Wed Mar 28 08:05:12 2007 UTC
revision
74
by
chapuni
, Sun Apr 1 08:38:32 2007 UTC
#
Line 38
Line 38
38
#include "expr_parse.h"
#include "expr_parse.h"
39
#include "scoreboard.h"
#include "scoreboard.h"
40
#include "synth.h"
#include "synth.h"
41
#include "tr64.h"
42
#include "translate.h"
#include "translate.h"
43
44
#if USE_DT
#if USE_DT
#
Line 757
ALIGN_PREFIX(16) struct PARAM param64 AL
Line 758
ALIGN_PREFIX(16) struct PARAM param64 AL
758
int
int
759
main(int argc, char *argv[])
main(int argc, char *argv[])
760
{
{
761
int i, j;
int i;
762
int mincnt;
int mincnt;
763
signed char *code = NULL;
signed char *code = NULL;
764
FILE *ofp;
FILE *ofp;
#
Line 766
main(int argc, char *argv[])
Line 767
main(int argc, char *argv[])
767
int n_iter;
int n_iter;
768
int cr;
int cr;
769
770
int xhash_loaded;
771
772
#define N_TS 4
#define N_TS 4
773
struct
struct
774
{
{
#
Line 877
main(int argc, char *argv[])
Line 880
main(int argc, char *argv[])
880
#endif
#endif
881
882
/* ヒットしたときの処理 */
/* ヒットしたときの処理 */
883
xhash_loaded = 0;
884
for (kk = 0; kk < N_ALU; kk++)
for (kk = 0; kk < N_ALU; kk++)
885
{
{
886
ALU_T t;
ALU_T t;
887
if (!(kk & 1))
888
xhash_loaded = 0;
889
890
t = param64.t[31].a[kk];
t = param64.t[31].a[kk];
891
if (!t)
if (!t)
#
Line 887
main(int argc, char *argv[])
Line 893
main(int argc, char *argv[])
893
894
for (k = 0; k < ALU_BITS; k++)
for (k = 0; k < ALU_BITS; k++)
895
{
{
896
static uint64_t xhash[64];
897
char hash[16];
char hash[16];
898
unsigned char buf[32];
unsigned char buf[32];
899
900
if (!(t & ((ALU_T)1 << k)))
if (!(t & ((ALU_T)1 << k)))
901
continue;
continue;
902
903
/* XXX 手抜きのため、ワークにはみ出ている 2 ビットをここで落とす
/* 転置 */
904
ヒットするたびに冗長に行われるが、気にしてはいかん */
if (!xhash_loaded)
905
param64.t[0].a[kk] = param64.t[1].a[kk] = 0;
{
906
CALL_TR64(¶m64.lr[0][0].q[kk >> 1], xhash); /* XXX x64 ではダメ */
907
xhash_loaded = 1;
908
}
909
910
/* 辞書を調べる */
911
if (!synth_dict_ishit(param64.hit, kk, k, xhash[(ALU_BITS * kk + k) & 0x3F]))
912
continue;
913
914
for (i = 1; i < 11; i++)
for (i = 1; i < 11; i++)
915
{
{
916
unsigned c = 0;
unsigned c = 0;
917
for (j = 0; j < 6; j++)
c = (xhash[(ALU_BITS * kk + k) & 63] >> (6 * (i - 1))) & 0x3F; /* XXX */
918
c = (c << 1) | !!(param64.lr[0][tr_fp[6 * i + j]].a[kk] & ((ALU_T)1 << k));
hash[i - 1] = C64[c];
hash[i - 1] = c["./0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"];
919
}
}
920
hash[10] = 0;
hash[10] = 0;
921
Colored Diff
Long Colored Diff
Full Colored Diff
Unidiff
Context Diff
Side by Side
Legend:
Removed from v.46
changed lines
Added in v.74
Back to OSDN
">
Back to OSDN
ViewVC Help
Powered by
ViewVC 1.1.26