[Qi Hardware Discuss] SIMD instructions in jz4720

David Kuehling dvdkhlng at gmx.de
Mon Aug 27 04:33:33 EDT 2012

Hi Alan,

>>>>> "Alan" == Alan W Black <awb at cs.cmu.edu> writes:

> Sorry I've note had time to update my ebook reader Bard (though I do
> use it as my primary ebook reader all the time) and importantly (to
> me) the flite synthesizer, but I just updated my nanonote to the
> latest release and am hopefully re-enthused.

> I note that the jz4720 has SIMD instructions and I wonder if I can use
> this to make the better synthesis technique fast enough on the
> Nanonote. In my real job we have been working on synthesis (and
> display) support for 7 Indian languages -- and we do have a Mandarin
> synthesizer too and I'd like that all to work on the Nanonote.

The jz4720 SIMD is not supported by binutils assembler (implying no GCC
support).  Last time I checked vendor support I only found an
(unofficial?) awk-script that converted simd opcodes into hexcodes, to
be used as a binutils preprocessor.  Yuck.

There is also AFAIK no Linux kernel support, so process switching won't
save/restore the simd register file.  So no multi-tasking with
SIMD-using programs (at least not without weird side-effects).

As these SIMD instructions are completely proprietary I'd rather not
invest time into optimizing your code around them.  What's the problem
with synthesis that is so CPU-intensive?  Maybe some bunch of hand-coded
MIPS-assembler would already do the job?  Or maybe some algorithmic
optimizations can solve the problem without resorting to a "brute force"
machine code optimization approach?  Can you point us to the specific
C-code that needs tuning?  Looks like a fun problem.

> Back in 2009 on the list I see comments from Wolfgang about some
> (enough?) of the SIMD information being released to allow some
> hacking.
> http://lists.en.qi-hardware.com/pipermail/discussion/2009-September/000471.html
> He refers to a previous message but I can't seem to find that.

> What is the status of SIMD support, does the latest mplayer use them?
> Can I find some C code (or just assembler instructions details) that
> might help me try some things out?

Nope, mplayer does not use them.  Mplayer uses the hardware scaler,


GnuPG public key: http://dvdkhlng.users.sourceforge.net/dk.gpg
Fingerprint: B17A DC95 D293 657B 4205  D016 7DEF 5323 C174 7D40
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 197 bytes
Desc: not available
URL: <http://lists.en.qi-hardware.com/pipermail/discussion/attachments/20120827/52f201f7/attachment.pgp>

More information about the discussion mailing list