/[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 20 by dpavlin, Mon Oct 8 16:19:23 2007 UTC revision 24 by dpavlin, Mon Oct 8 16:19:56 2007 UTC
# Line 1  Line 1 
1  $Id: README_DYNTRANS,v 1.6 2005/11/24 01:15:06 debug Exp $  $Id: README_DYNTRANS,v 1.9 2006/03/15 20:34:05 debug Exp $
2    
3  -------------------------------------------------------------------  -------------------------------------------------------------------
4    
5  PPC optimizations TODO:  PPC optimizations TODO:
6    
7          find high-level bottlenecks!          find high-level bottlenecks!
8    
9          inline cr0 field calculation          inline cr0 field calculation
10          inline pc to pointers calculation  
11          load/store with r1 as base          load/store with r1 as base?
12          multiple load/stores in a row  
13          all forms of branches, similar optimizations as with ARM          multiple load/stores in a row (especially with base = r1)
14                  (conditional, link etc)  
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    
# Line 25  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           ?                               ?               ?          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
# Line 50  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 79  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.20  
changed lines
  Added in v.24

  ViewVC Help
Powered by ViewVC 1.1.26