]> git.proxmox.com Git - qemu.git/commitdiff
tcg/README: Expand advice on number of TCG ops per target insn
authorPeter Maydell <peter.maydell@linaro.org>
Wed, 22 Jun 2011 14:40:06 +0000 (15:40 +0100)
committerBlue Swirl <blauwirbel@gmail.com>
Sat, 16 Jul 2011 13:17:36 +0000 (13:17 +0000)
Expand the note on the number of TCG ops generated per target insn,
to be clearer about the range of applicability of the 20 op rule
of thumb. Also add a note about the hard MAX_OP_PER_INSTR limit.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
tcg/README

index 660012281f64882faebf5638e5a532245f6a21f9..cfdfd96d0953cda6f8619799f4a0935ea363f6ac 100644 (file)
@@ -504,7 +504,15 @@ register.
 - Don't hesitate to use helpers for complicated or seldom used target
   instructions. There is little performance advantage in using TCG to
   implement target instructions taking more than about twenty TCG
-  instructions.
+  instructions. Note that this rule of thumb is more applicable to
+  helpers doing complex logic or arithmetic, where the C compiler has
+  scope to do a good job of optimisation; it is less relevant where
+  the instruction is mostly doing loads and stores, and in those cases
+  inline TCG may still be faster for longer sequences.
+
+- The hard limit on the number of TCG instructions you can generate
+  per target instruction is set by MAX_OP_PER_INSTR in exec-all.h --
+  you cannot exceed this without risking a buffer overrun.
 
 - Use the 'discard' instruction if you know that TCG won't be able to
   prove that a given global is "dead" at a given program point. The