- test macro system

- test conditional jumps

- test mul, div, ext8s, ext16s, bswap

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

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

- optimize the x86 target:
  - move some or all the registers as globals
  - use the TB prologue and epilogue to have QEMU target registers in
    pre assigned host registers.

Ideas:

- Move the slow part of the qemu_ld/st ops after the end of the TB.

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

- change exception syntax to get closer to QOP system (exception
  parameters given with a specific instruction).
