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