On Tue, Nov 10, 2009 at 11:38:49PM +0000, Paul Brook wrote: > > > Some of the generated tcg code is not very optimal, for example a > > > single vld4.8 instruction can generate over 250 tcg ops. I did some > > > optimizations and got it under 200 but do you think it could be an > > > issue that a single instruction can expand to so many tcg ops? I mean > > > besides the fact that it causes TBs for only one or two guest > > > instructions to be generated. > > > > Fabrice wrote this (tcg/README): > > > > Don't hesitate to use helpers for complicated or seldom used target > > intructions. There is little performance advantage in using TCG to > > implement target instructions taking more than about twenty TCG > > instructions. > > > > How applicable is it, I can't say. It'd probably be a good thing > > to benchmark the two versions, TCG vs helper. > > The problem is that you can not do memory accesses from within a helper > function. >
It is something possible, it's done for example for unaligned memory access on MIPS (see for example helper_ldr). -- Aurelien Jarno GPG: 1024D/F1BCDB73 aurel...@aurel32.net http://www.aurel32.net