Statistics
| Branch: | Revision:

root / tcg @ 57f45b62

Name Size
  aarch64
  arm
  i386
  ia64
  mips
  ppc
  ppc64
  s390
  sparc
  tci
LICENSE 146 Bytes
README 15.9 kB
TODO 394 Bytes
optimize.c 39.5 kB
tcg-be-ldst.h 3 kB
tcg-be-null.h 1.4 kB
tcg-op.h 92.3 kB
tcg-opc.h 10.1 kB
tcg-runtime.h 825 Bytes
tcg.c 89.5 kB
tcg.h 27.9 kB

Latest revisions

# Date Author Comment
774d566c 02/21/2014 12:39 pm Peter Maydell

tcg/i386: Fix build for systems without working cpuid.h (MacOSX, Win32)

Win32 doesn't have a cpuid.h, and MacOSX may have one but without
the __cpuid() function we use, which means that commit 9d2eec20
broke the build for those platforms. Fix this by tightening up...

23ec69ed 02/17/2014 06:12 pm Richard Henderson

tcg/optimize: Handle known-zeros masks for ANDC

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

e201b564 02/17/2014 06:12 pm Richard Henderson

tcg/optimize: Simply some logical ops to NOT

Given, of course, an appropriate constant. These could be generated
from the "canonical" operation for inversion on the guest, or via
other optimizations.

Reviewed-by: Paolo Bonzini <>
Reviewed-by: Aurelien Jarno <>...

e64e958e 02/17/2014 06:12 pm Richard Henderson

tcg/optimize: Optmize ANDC X,Y,Y to MOV X,0

Like we already do for SUB and XOR.

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

464a1441 02/17/2014 06:12 pm Richard Henderson

tcg/optimize: Add more identity simplifications

Recognize 0 operand to andc, and -1 operands to and, orc, eqv.

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

a1b29c9a 02/17/2014 06:12 pm Richard Henderson

tcg/i386: Move TCG_CT_CONST_* to tcg-target.c

These are not needed by users of tcg-target.h. No need to recompile
when we adjust them.

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

ecc7e843 02/17/2014 06:12 pm Richard Henderson

tcg/i386: Add tcg_out_vex_modrm

Prepare for emitting BMI insns which require VEX encoding.

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

9d2eec20 02/17/2014 06:12 pm Richard Henderson

tcg/i386: Use ANDN instruction

Note that the optimizer cannot simplify ANDC X,Y,C to AND X,Y,~C
so we must handle constants in the implementation of andc.

Reviewed-by: Paolo Bonzini <>
Signed-off-by: Richard Henderson <>

6399ab33 02/17/2014 06:12 pm Richard Henderson

tcg/i386: Use SHLX/SHRX/SARX instructions

These three-operand shift instructions do not require the shift count
to be placed into ECX. This reduces the number of mov insns required,
with the mere addition of a new register constraint.

Don't attempt to get rid of the matching constraint, as that's impossible...

c8d70272 02/17/2014 06:12 pm Aurelien Jarno

tcg/optimize: add known-zero bits compute for load ops

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

View revisions

Also available in: Atom