/[gxemul]/trunk/src/cpus/README_DYNTRANS
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Diff of /trunk/src/cpus/README_DYNTRANS

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 14 by dpavlin, Mon Oct 8 16:18:51 2007 UTC revision 24 by dpavlin, Mon Oct 8 16:19:56 2007 UTC
# Line 1  Line 1 
1  $Id: README_DYNTRANS,v 1.4 2005/09/28 11:24:19 debug Exp $  $Id: README_DYNTRANS,v 1.9 2006/03/15 20:34:05 debug Exp $
2    
3    -------------------------------------------------------------------
4    
5    PPC optimizations TODO:
6    
7            find high-level bottlenecks!
8    
9            inline cr0 field calculation
10    
11            load/store with r1 as base?
12    
13            multiple load/stores in a row (especially with base = r1)
14    
15            almost all branches are of the "general" form now, they don't
16                    need to be.
17    
18            combinations of compare + branch, similar to arm?
19    
20    -------------------------------------------------------------------
21    
22    
23    
24  Dyntrans TODO:  Dyntrans TODO:
25    
# Line 9  Dyntrans TODO: Line 30  Dyntrans TODO:
30          ------          -------                         -----           -----          ------          -------                         -----           -----
31          Alpha           32-bit                          64              no          Alpha           32-bit                          64              no
32          ARM             32-bit, 16-bit (Thumb)          32              no          ARM             32-bit, 16-bit (Thumb)          32              no
33          Atmel AVR       16-bit                          8               no          Atmel AVR       16-bit + variable               8               no
34            F-CPU           ?                               ?               ?
35            H8              16-bit                          8/16            no
36          HPPA            32-bit                          64/32           yes          HPPA            32-bit                          64/32           yes
37          i960            32-bit + variable               32              ?          i960            32-bit + variable               32              ?
38          IA64            128-bit                         64              no          IA64            128-bit                         64              no
39          M68K            16-bit + variable               32              no          M68K            16-bit + variable               32              no
40          M88K            ?                               32 (?)          ?          M88K            ?                               32 (?)          ?
41          MIPS            32-bit, 16-bit (MIPS16)         64/32           yes          MIPS            32-bit, 16-bit (MIPS16)         64/32           yes
42            OpenRISC        ?                               ?               ?
43          PC532           ?                               32 (?)          ?          PC532           ?                               32 (?)          ?
44          POWER/PPC       32-bit                          64/32           no          POWER/PPC       32-bit                          64/32           no
45          SH              32-bit, 16-bit (SHcompact)      64/32           yes(*)          SH              32-bit, 16-bit (SHcompact)      64/32           yes(*)
# Line 32  Dyntrans TODO: Line 56  Dyntrans TODO:
56    
57    x)  opcode statistics support?    x)  opcode statistics support?
58                  TODO: is instr_call statistics enough?                  TODO: is instr_call statistics enough?
                 TODO: a command line option to turn off instruction  
                         combinations (for debugging)  
59    
60    x)  load/stores:    x)  load/stores:
61                    o)  perhaps refactor/reuse common load/store code?
62                  o)  support for archs that allow transparent                  o)  support for archs that allow transparent
63                      unaligned load/stores (ppc, x86 etc)                      unaligned load/stores (ppc, x86 etc)
64                  o)  alignment checks ==> exceptions                  o)  alignment checks ==> exceptions
# Line 61  Dyntrans TODO: Line 84  Dyntrans TODO:
84    
85    x)  various register-window archs (SPARC etc)    x)  various register-window archs (SPARC etc)
86    
   x)  Atmel AVR etc?  
   
87    x)  Alpha: hahaha, zapnot and inserts/extracts don't    x)  Alpha: hahaha, zapnot and inserts/extracts don't
88              compile into very nice code :-|  fix this              compile into very nice code :-|  fix this
89                  Solution: if short assembly language snippets can be                  Solution: if short assembly language snippets can be
90                  compiled on the current host, then compile such snippets                  compiled on the current host, then compile such snippets
91                  for alpha_instr_zapnot etc.                  for alpha_instr_zapnot etc.
92    
   x)  64-bit virtual memory translation tables (PPC, Alpha, MIPS,  
             HPPA, sh, amd64, etc)  
   
93    x)  x86: convert to dyntrans. LOTS of stuff to consider.    x)  x86: convert to dyntrans. LOTS of stuff to consider.
94    
95    x)  88k? vax? pc532? 6502? 6800? etc    x)  88k? vax? pc532? 6502? 6800? etc

Legend:
Removed from v.14  
changed lines
  Added in v.24

  ViewVC Help
Powered by ViewVC 1.1.26