Revision 0a6b7b78 tcg/TODO

b/tcg/TODO
1
- test macro system
1
- Add new instructions such as: andnot, ror, rol, setcond, clz, ctz,
2
  popcnt.
2 3

  
3
- test conditional jumps
4
- See if it is worth exporting mul2, mulu2, div2, divu2. 
4 5

  
5
- test mul, div, ext8s, ext16s, bswap
6

  
7
- generate a global TB prologue and epilogue to save/restore registers
8
  to/from the CPU state and to reserve a stack frame to optimize
9
  helper calls. Modify cpu-exec.c so that it does not use global
10
  register variables (except maybe for 'env').
11

  
12
- fully convert the x86 target. The minimal amount of work includes:
13
  - add cc_src, cc_dst and cc_op as globals
14
  - disable its eflags optimization (the liveness analysis should
15
    suffice)
16
  - move complicated operations to helpers (in particular FPU, SSE, MMX).
17

  
18
- optimize the x86 target:
19
  - move some or all the registers as globals
20
  - use the TB prologue and epilogue to have QEMU target registers in
21
    pre assigned host registers.
6
- Support of globals saved in fixed registers between TBs.
22 7

  
23 8
Ideas:
24 9

  
25 10
- Move the slow part of the qemu_ld/st ops after the end of the TB.
26 11

  
27
- Experiment: change instruction storage to simplify macro handling
28
  and to handle dynamic allocation and see if the translation speed is
29
  OK.
30

  
31
- change exception syntax to get closer to QOP system (exception
12
- Change exception syntax to get closer to QOP system (exception
32 13
  parameters given with a specific instruction).
14

  
15
- Add float and vector support.

Also available in: Unified diff