qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH] target-ppc: add Altivec instructions, corrections
@ 2008-12-15 22:15 Nathan Froyd
  2008-12-15 22:15 ` [Qemu-devel] [PATCH 13/42] target-ppc: add vmul{e, o}{s, u}{b, h} instructions Nathan Froyd
                   ` (2 more replies)
  0 siblings, 3 replies; 9+ messages in thread
From: Nathan Froyd @ 2008-12-15 22:15 UTC (permalink / raw)
  To: qemu-devel

[Apologies for sending this as a separate, smaller series; I lost the
original thread, or else I'd reply to those.]

Actual testing against Altivec hardware revealed a few typos and thinkos
in my Altivec patch series.  This series can be applied at the
appropriate places in the original series and should be considered as
superseding the corresponding patches.

The only thing that does work is m{f,t}vscr; I've verified that
instructions that set bits in vscr operate properly, but at least mfvscr
doesn't actually update the register with the contents of vscr.  I'm at
a loss to figure out why.  Advice welcome...

-Nathan

^ permalink raw reply	[flat|nested] 9+ messages in thread
* [Qemu-devel] [PATCH] target-ppc: add Altivec instructions, patch-bomb version
@ 2008-12-15  2:14 Nathan Froyd
  2008-12-15  2:14 ` [Qemu-devel] [PATCH 22/42] target-ppc: add vs{l,r} instructions Nathan Froyd
  0 siblings, 1 reply; 9+ messages in thread
From: Nathan Froyd @ 2008-12-15  2:14 UTC (permalink / raw)
  To: qemu-devel

[Thiemo Seufer asked for a patch-bomb so people can conveniently comment
on things and so the mail archive has a record of Signed-off-by.]

This patch series adds support for integer Altivec instructions to QEMU,
including element-wise loads and stores.  It's a long patch series,
since each instruction "family" (element-wise loads/stores, modulo
arithmetic instructions, saturating arithmetic instructions, etc.) is
separated out into its own patch.  Hopefully since the individual
patches are so short, they will be more-or-less self-explanatory: the
explanation for the patches is generally fairly short, on the order of a
single line.

The patch series is slightly cleaned up from the one I originally
posted: there were a few problems with my tcg usage, and I didn't
faithfully use some convenience functions.

Why only the integer instructions?  I originally wrote support for the
whole instructions set, but I did it in the days of dyngen.  So a
straight forward-port was out of the question.  The original patch
sloppily used native floats everywhere, rather than the float32
abstraction.  It also used C99 math functions to implement some of the
more exotic Altivec instructions.  Both of these decisions mean that
some care has to be taken in porting the floating-point instructions.

I figured it'd be better to push out the integer instructions now and
the floating-point instructions later, rather than waiting for some
unspecified time for full support.

-Nathan

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

end of thread, other threads:[~2008-12-16 19:56 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-12-15 22:15 [Qemu-devel] [PATCH] target-ppc: add Altivec instructions, corrections Nathan Froyd
2008-12-15 22:15 ` [Qemu-devel] [PATCH 13/42] target-ppc: add vmul{e, o}{s, u}{b, h} instructions Nathan Froyd
2008-12-15 23:01   ` Andreas Färber
2008-12-16 19:53     ` Nathan Froyd
2008-12-15 22:15 ` [Qemu-devel] [PATCH 19/42] target-ppc: add m{f, t}vscr instructions Nathan Froyd
2008-12-16 19:54   ` Nathan Froyd
2008-12-15 22:15 ` [Qemu-devel] [PATCH 22/42] target-ppc: add vs{l,r} instructions Nathan Froyd
2008-12-16 19:56   ` Nathan Froyd
  -- strict thread matches above, loose matches on Subject: below --
2008-12-15  2:14 [Qemu-devel] [PATCH] target-ppc: add Altivec instructions, patch-bomb version Nathan Froyd
2008-12-15  2:14 ` [Qemu-devel] [PATCH 22/42] target-ppc: add vs{l,r} instructions Nathan Froyd

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).