| 761 |
int i; |
int i; |
| 762 |
int mincnt; |
int mincnt; |
| 763 |
int nblk_hit, nblk_total; |
int nblk_hit, nblk_total; |
| 764 |
|
int nap_hit, nap_total; |
| 765 |
signed char *code = NULL; |
signed char *code = NULL; |
| 766 |
FILE *ofp; |
FILE *ofp; |
| 767 |
FILE *sfp; /* scoreboard */ |
FILE *sfp; /* scoreboard */ |
| 850 |
|
|
| 851 |
mincnt = 0x7FFFFFFF; |
mincnt = 0x7FFFFFFF; |
| 852 |
nblk_hit = nblk_total = 0; |
nblk_hit = nblk_total = 0; |
| 853 |
|
nap_hit = nap_total = 0; |
| 854 |
n_iter = 0; |
n_iter = 0; |
| 855 |
cr = 0; |
cr = 0; |
| 856 |
/* 探索ループだぞっと */ |
/* 探索ループだぞっと */ |
| 888 |
for (kk = 0; kk < N_ALU; kk++) |
for (kk = 0; kk < N_ALU; kk++) |
| 889 |
{ |
{ |
| 890 |
ALU_T t; |
ALU_T t; |
| 891 |
if (!(kk & 1)) |
if (!(kk & (N_ALU / N_Q - 1))) |
| 892 |
nblk_total++, xhash_loaded = 0; |
nblk_total++, xhash_loaded = 0; |
| 893 |
|
|
| 894 |
t = param64.t[31].a[kk]; |
t = param64.t[31].a[kk]; |
| 895 |
if (!t) |
if (!t) |
| 896 |
continue; |
continue; |
| 897 |
|
|
| 898 |
|
nap_total += ALU_BITS; |
| 899 |
|
|
| 900 |
for (k = 0; k < ALU_BITS; k++) |
for (k = 0; k < ALU_BITS; k++) |
| 901 |
{ |
{ |
| 902 |
static uint64_t xhash[64]; |
static uint64_t xhash[64]; |
| 906 |
if (!(t & ((ALU_T)1 << k))) |
if (!(t & ((ALU_T)1 << k))) |
| 907 |
continue; |
continue; |
| 908 |
|
|
| 909 |
|
nap_hit++; |
| 910 |
|
|
| 911 |
/* 転置 */ |
/* 転置 */ |
| 912 |
if (!xhash_loaded) |
if (!xhash_loaded) |
| 913 |
{ |
{ |
| 914 |
nblk_hit++; |
nblk_hit++; |
| 915 |
CALL_TR64(¶m64.lr[0][0].q[kk >> 1], xhash); /* XXX x64 ではダメ */ |
CALL_TR64(¶m64.lr[0][0].q[kk / (N_ALU / N_Q)], xhash); |
| 916 |
xhash_loaded = 1; |
xhash_loaded = 1; |
| 917 |
} |
} |
| 918 |
|
|
| 971 |
"%5d/%5d(%3d%%)", |
"%5d/%5d(%3d%%)", |
| 972 |
nblk_hit, nblk_total, 100 * nblk_hit / nblk_total); |
nblk_hit, nblk_total, 100 * nblk_hit / nblk_total); |
| 973 |
nblk_hit = nblk_total = 0; |
nblk_hit = nblk_total = 0; |
| 974 |
|
if (nap_total) |
| 975 |
|
fprintf(stderr, |
| 976 |
|
" %5d/%5d(%3d%%)", |
| 977 |
|
nap_hit, nap_total, 100 * nap_hit / nap_total); |
| 978 |
|
else |
| 979 |
|
fprintf(stderr, |
| 980 |
|
" -----/-----(---%%)"); |
| 981 |
|
nap_hit = nap_total = 0; |
| 982 |
#endif |
#endif |
| 983 |
fprintf(stderr, |
fprintf(stderr, |
| 984 |
"%8d.%03d(ktrips/sec)\r", |
"%8d.%03d(ktrips/sec)\r", |