[raspi-internals] Re: Some more VPU instructions

  • From: David Given <david.given@xxxxxxxxx>
  • To: raspi-internals@xxxxxxxxxxxxx
  • Date: Fri, 05 Sep 2014 01:10:13 +0200

On 04.09.2014 15:52, David Barker wrote:
[...]
> I am writing on behalf of Argon Design, a small Cambridge-based design 
> consultancy. I am currently an intern there and have been spending the summer 
> looking into the feasibility of doing some future projects on the Raspberry 
> Pi. As part of this, I have been programming a demo app using the VideoCore 
> IV. In the course of developing this demo, I have discovered a few 
> differences from the current version of Herman's Programmers' Manual, and 
> would like to share them with the community:
> 
> * rts (return from leaf function by copying lr -> pc): 0x005A

That's an alias for b lr, I'm afraid.

The vector stuff looks interesting, but largely beyond me --- I've never
touched it. However:

> * In the 32-bit scalar data section, there is the following:
>     1100 00 op:5 d:5 a:5 c:4 10 u:5            <op><cc> rd, ra, #u            
>  if (<cc>) rd = ra op u
>   From testing, it looks like it should really be
>     1100 00 op:5 d:5 a:5 c:4 1  i:6            <op><cc> rd, ra, #i            
>  if (<cc>) rd = ra op i

...I always thought that encoding was weird. Thanks!

Incidentally, the big thing missing from the scalar instruction set is
any form of adc or sbc instruction; this makes it really painful to do
64 bit arithmetic. If you happen to spot one, that would be awesome.

-- 
┌─── dg@cowlark.com ───── http://www.cowlark.com ─────
│ "Blue is beautiful... blue is best...
│ I'm blue! I'm beautiful! I'm best!"
│ --- _Dougal and the Blue Cat_

Attachment: signature.asc
Description: OpenPGP digital signature

Other related posts: