Statistics
| Branch: | Revision:

root / tcg @ 5b1c985b

Name Size
  aarch64
  arm
  hppa
  i386
  ia64
  mips
  ppc
  ppc64
  s390
  sparc
  tci
LICENSE 146 Bytes
README 15.9 kB
TODO 394 Bytes
optimize.c 35.6 kB
tcg-op.h 96.7 kB
tcg-opc.h 10 kB
tcg-runtime.h 825 Bytes
tcg.c 84 kB
tcg.h 26.1 kB

Latest revisions

# Date Author Comment
4b2b114d 09/25/2013 05:46 pm Richard Henderson

tcg-ppc: Avoid code for nop move

While these are rare from code that's been through the optimizer,
it's not uncommon within the tcg backend.

Signed-off-by: Richard Henderson <>

1d10cf98 09/25/2013 05:46 pm Richard Henderson

tcg-ppc: Cleanup tcg_out_qemu_ld/st_slow_path

Coding style fixes. Use TCGReg enumeration values instead of raw
numbers. Don't needlessly pull the whole TCGLabelQemuLdst struct
into local variables. Less conditional compilation.

No functional changes....

5b1c985b 09/25/2013 05:46 pm Richard Henderson

tcg-ppc: Use conditional branch and link to slow path

Saves one insn per slow path. Note that we can no longer use
a tail call into the store helper.

Signed-off-by: Richard Henderson <>

619f90ba 09/25/2013 05:45 pm Paolo Bonzini

tcg-ppc: use new return-argument ld/st helpers

These use a 32-bit load-of-immediate to save a mflr+addi+mtlr sequence.
Tested with a Windows 98 guest (pretty much the most recent thing I
could run on my PPC machine) and kvm-unit-tests's sieve.flat. The
speed up for sieve.flat is as high as 10% for qemu-system-i386, 25%...

6a115579 09/25/2013 05:45 pm Paolo Bonzini

tcg-ppc: fix qemu_ld/qemu_st for AIX ABI

For the AIX ABI, the function pointer and small area pointer need
to be loaded in the trampoline. The trampoline instead is called
with a normal BL instruction.

Signed-off-by: Paolo Bonzini <>...

387e4176 09/20/2013 07:09 pm Richard Henderson

tcg-sparc: Fix parenthesis warning

error: suggest parentheses around comparison in operand of ‘&’ [-Werror=parentheses]

Signed-off-by: Richard Henderson <>
Signed-off-by: Michael Tokarev <>

5a93d5c2 09/03/2013 08:31 pm Anthony Liguori

Merge remote-tracking branch 'mjt/trivial-patches' into staging

  1. By Stefan Weil (6) and others
  2. Via Michael Tokarev
    • mjt/trivial-patches:
      aio / timers: use g_usleep() not sleep()
      adlib: sort offsets in portio registration
      qmp: fix integer usage in examples...
545825d4 09/03/2013 02:35 am Aurelien Jarno

Merge branch 'tcg-next' of git://github.com/rth7680/qemu

  • 'tcg-next' of git://github.com/rth7680/qemu: (29 commits)
    tcg-i386: Make use of zero-extended memory helper routines
    tcg: Introduce zero and sign-extended versions of load helpers
    exec: Split softmmu_defs.h...
df81ff51 09/03/2013 02:34 am Aurelien Jarno

tcg/mips: inline bswap16/bswap32 ops

Use an inline version for the bswap16 and bswap32 ops to avoid
testing for MIPS32R2 instructions availability, as these ops are
only available in that case.

Reviewed-by: Richard Henderson <>
Signed-off-by: Aurelien Jarno <>

3207bf25 09/03/2013 02:34 am Aurelien Jarno

tcg/mips: only enable ext8s/ext16s ops on MIPS32R2

On MIPS ext8s and ext16s ops are implemented with a dedicated
instruction only on MIPS32R2, otherwise the same kind of implementation
than at TCG level (shift left followed by shift right) is used.

Change that by only implementing the ext8s and ext16s ops on MIPS32R2 so...

View revisions

Also available in: Atom