Re: [Qemu-devel] [PATCH 14/15] tcg-mips: Use mipsr6 instructions in branches

2016-02-09 Thread James Hogan
Hi Richard, On Tue, Feb 09, 2016 at 04:22:34PM +, James Hogan wrote: > (gdb) disas/r > Dump of assembler code for function code_gen_buffer: >0x00fff30b0064 <+0>: f8 ff 11 8e lw s1,-8(s0) > => 0x00fff30b0068 <+4>: 08 00 11 60 bnezalc s1,0xfff30b008c > Note al

Re: [Qemu-devel] [PATCH 14/15] tcg-mips: Use mipsr6 instructions in branches

2016-02-09 Thread Maciej W. Rozycki
On Tue, 9 Feb 2016, Richard Henderson wrote: > > So to be correct + efficient, it should only put the nop in if the next > > generated instruction is a CTI. I imagine that would be a bit messy / > > fragile, but maybe doable? I haven't looked too deeply. > > Ouch, I didn't notice this about these

Re: [Qemu-devel] [PATCH 14/15] tcg-mips: Use mipsr6 instructions in branches

2016-02-09 Thread Richard Henderson
On 02/10/2016 03:22 AM, James Hogan wrote: So to be correct + efficient, it should only put the nop in if the next generated instruction is a CTI. I imagine that would be a bit messy / fragile, but maybe doable? I haven't looked too deeply. Ouch, I didn't notice this about these insns. I suppo

Re: [Qemu-devel] [PATCH 14/15] tcg-mips: Use mipsr6 instructions in branches

2016-02-09 Thread James Hogan
Hi Richard, On Tue, Feb 09, 2016 at 09:40:02PM +1100, Richard Henderson wrote: > Using compact branches, when possible, avoids a delay slot nop. > > Signed-off-by: Richard Henderson > --- > include/elf.h | 4 + > tcg/mips/tcg-target.c | 216 > +++--

[Qemu-devel] [PATCH 14/15] tcg-mips: Use mipsr6 instructions in branches

2016-02-09 Thread Richard Henderson
Using compact branches, when possible, avoids a delay slot nop. Signed-off-by: Richard Henderson --- include/elf.h | 4 + tcg/mips/tcg-target.c | 216 +++--- 2 files changed, 172 insertions(+), 48 deletions(-) diff --git a/include/elf.h b/in