qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH 0/5] tcg-sparc improvements
@ 2010-01-11 19:22 Richard Henderson
  2010-01-11 17:51 ` [Qemu-devel] [PATCH 1/5] tcg-sparc: Add tcg_out_arithc Richard Henderson
                   ` (6 more replies)
  0 siblings, 7 replies; 9+ messages in thread
From: Richard Henderson @ 2010-01-11 19:22 UTC (permalink / raw)
  To: qemu-devel; +Cc: blauwirbel

As noticed elsewhere on the list mulu2_i32 is missing.  Which led 
me to notice that add2_i32 and sub2_i32 were also missing and also
led me to notice that division was incorrectly implemented.

My initial implementation of 32-bit division copied the existing practice
of using the 64-bit division insns for sparcv9, with proper sign/zero
extensions on the input operands.  But that required extra temporaries
and quickly got ugly.  In the end I thought it was clearer to simply use
the 32-bit division insns unconditionally.

That excercise, however, made me notice that 32-bit extension was not
special-cased, leading to the final patch.


r~


Richard Henderson (5):
  tcg-sparc: Add tcg_out_arithc.
  tcg-sparc: Implement add2, sub2, mulu2.
  tcg-sparc: Do not remove %o[012] from 'r' constraint.
  tcg-sparc: Implement division properly.
  tcg-sparc: Implement ext32[su]_i64

 tcg/sparc/tcg-target.c |  206 ++++++++++++++++++++++++++++++++----------------
 tcg/sparc/tcg-target.h |    8 ++
 2 files changed, 145 insertions(+), 69 deletions(-)

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2010-01-12 20:03 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-01-11 19:22 [Qemu-devel] [PATCH 0/5] tcg-sparc improvements Richard Henderson
2010-01-11 17:51 ` [Qemu-devel] [PATCH 1/5] tcg-sparc: Add tcg_out_arithc Richard Henderson
2010-01-11 17:57 ` [Qemu-devel] [PATCH 2/5] tcg-sparc: Implement add2, sub2, mulu2 Richard Henderson
2010-01-11 19:00 ` [Qemu-devel] [PATCH 3/5] tcg-sparc: Do not remove %o[012] from 'r' constraint Richard Henderson
2010-01-11 19:09 ` [Qemu-devel] [PATCH 4/5] tcg-sparc: Implement division properly Richard Henderson
2010-01-11 20:11   ` Richard Henderson
2010-01-11 19:21 ` [Qemu-devel] [PATCH 5/5] tcg-sparc: Implement ext32[su]_i64 Richard Henderson
2010-01-11 20:41 ` [Qemu-devel] [PATCH 0/5] tcg-sparc improvements Palle Lyckegaard
2010-01-12 20:02 ` [Qemu-devel] " Blue Swirl

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).