On 01/25/2011 04:27 AM, Edgar E. Iglesias wrote: > I've tested this patch a bit and got mixed results. I tested with patched > CRIS and MicroBlaze translators. The patch works OK (it doesn't break > anything) for the usecases I had but I saw a bit of a slowdown with > MicroBlaze (compare to not using deposit at all). > > I suspect that the fast 8 and 16 bit x86 deposits are giving me a slight > speedup with CRIS. But MicroBlaze uses one bit fields into bit 2 and > 31. Those seem to be slower with deposit than with other tcg sequences. > > I would have guessed that at worst, this patch would be equally fast > as any TCG sequence. Am I missing something?
With or without the i386 tcg-target.c changes? If without, then I'm stumped, since it looks like identical tcg ops being emitted. It with, then perhaps SHLD is slower than I thought. I see that GCC lists this insn as "vector decoded" for AMD cores, as opposed to "direct decoded". If this insn is indeed microcoded on some hosts then maybe the i386 tcg-target patch isn't such a great idea. That said, there are still other tcg targets which support this operation directly. I would be shocked if you measured a slowdown with these changes on a ppc host, for instance. r~