[SunRescue] help a guy run 2.6 on his 670MP

Joshua D. Boyd rescue at sunhelp.org
Wed May 16 17:09:20 CDT 2001


On 16 May 2001, Gregory Leblanc wrote:
> On 16 May 2001 13:38:12 -0700, James Lockwood wrote:
> > On Wed, 16 May 2001, Dave McGuire wrote:
> > 
> > >   It's what MMX should have been.  It's very impressive.  I still
> > 
> > Right.  One of my favorite things about VIS is how flexible it is.  You
> > can do cool things like using fpmerge to double 8-bit data:
> > 
> >         membar  #StoreLoad
> >         ldda    [%o0]0xF0,%f0
> >         fpmerge %f0,%f0,%f16
> >         fpmerge %f1,%f1,%f18
> >         fpmerge %f2,%f2,%f20
> >         fpmerge %f3,%f3,%f22
> >         fpmerge %f4,%f4,%f24
> >         fpmerge %f5,%f5,%f26
> >         fpmerge %f6,%f6,%f28
> >         fpmerge %f7,%f7,%f30
> >         stda    %f16,[%o1]0xF0
> >         membar  #StoreLoad
> > 
> > Naturally you'd want to overlap your ldda/stda's and unroll a loop around
> > this to keep the memory bus flowing at the same time as the FP units.
> 
> Out of curiosity, is this completely opaque to anybody else?  :)
>     Greg

It's not totally opaque.  Assume you had two numbers, 00000000 and
11111111.

fpmerge returns something like 0101010101010101.  Why you would want to do
that, I'm not sure off the top of my head.  Well, I think it really takes
two 32bit values and interleaves them to return a 64bit value.  On closer
look, I think we are supposed to think of it taking 2 sets of 4 8bit
values and returning 1 set on 8 8bit values.  

Anyway, from first appearances, it seems to be more weighted towards
images and sound than other vector instruction sets.  However, they do
talk about using VIS for raid controlling 
(http://www.sun.com/microelectronics/vis/RAID.html)

One thing I'm confused about though.  When they talk about "8 bit
partitioned vis_f_32", what do they mean?  vis_f32 is a float.  Why are we
doing a 8bit partitioning on a float?

Also, if my breif scanning of the manual, I don't see much about doing
32bit or 64bit float matrix multiplies.  This is one of the things that I
really like to find in a multimedia instruction set.  I think that both
Altivec and 3DNow do these tasks.  I'm still running on MMX (to be SSE
later this summer), so I haven't actually used 3DNow or altivec yet
though.


--
Joshua Boyd





More information about the rescue mailing list