[FFmpeg-devel] [PATCH] SPARC VIS simple_idct try #2
Michael Niedermayer
michaelni
Wed Aug 22 04:15:48 CEST 2007
Hi
On Wed, Aug 22, 2007 at 03:47:52AM +0200, Michael Niedermayer wrote:
[...]
> [...]
> > +#define IDCT4ROWS(in, shift, label, s1, s2, bi, ma) \
> > + /* order input */\
> > + "ld [" in "], %%f0 \n\t"\
> > + "ld [" in "+4], %%f4 \n\t"\
> > + "ld [" in "+8], %%f8 \n\t"\
> > + "ld [" in "+12], %%f12 \n\t"\
> > + "ld [" in "+16], %%f1 \n\t"\
> > + "ld [" in "+4+16], %%f5 \n\t"\
> > + "ld [" in "+8+16], %%f9 \n\t"\
> > + "ld [" in "+12+16], %%f13 \n\t"\
> > + "ld [" in "+32], %%f2 \n\t"\
> > + "ld [" in "+4+32], %%f6 \n\t"\
> > + "ld [" in "+8+32], %%f10 \n\t"\
> > + "ld [" in "+12+32], %%f14 \n\t"\
> > + "ld [" in "+48], %%f3 \n\t"\
> > + "ld [" in "+4+48], %%f7 \n\t"\
> > + "ld [" in "+8+48], %%f11 \n\t"\
> > + "ld [" in "+12+48], %%f15 \n\t"\
> > + "ldd [%0], %%f60 \n\t"\
> > + "ldd [%0" ma "], %%f62 \n\t"\
> > + "fzero %%f30 \n\t"\
> > + "wr %%g0," s1 ", %%gsr \n\t"\
> > + label "1: \n\t"\
> > + "fand %%f0,%%f60, %%f32 \n\t"\
> > + "fand %%f2,%%f60, %%f34 \n\t"\
> > + "fand %%f4,%%f60, %%f36 \n\t"\
> > + "fand %%f6,%%f60, %%f38 \n\t"\
> > + "fand %%f8,%%f60, %%f40 \n\t"\
> > + "fand %%f10,%%f60, %%f42 \n\t"\
> > + "fand %%f12,%%f60, %%f44 \n\t"\
> > + "fand %%f14,%%f60, %%f46 \n\t"\
> > + "fand %%f0,%%f62, %%f48 \n\t"\
> > + "fand %%f2,%%f62, %%f50 \n\t"\
> > + "fand %%f4,%%f62, %%f52 \n\t"\
> > + "fand %%f6,%%f62, %%f54 \n\t"\
> > + "fand %%f8,%%f62, %%f56 \n\t"\
> > + "fand %%f10,%%f62, %%f58 \n\t"\
> > + "fand %%f12,%%f62, %%f60 \n\t"\
> > + "fand %%f14,%%f62, %%f62 \n\t"\
> > + "fpackfix %%f32, %%f0 \n\t"\
> > + "fpackfix %%f34, %%f1 \n\t"\
> > + "fpackfix %%f36, %%f4 \n\t"\
> > + "fpackfix %%f38, %%f5 \n\t"\
> > + "fpackfix %%f40, %%f8 \n\t"\
> > + "fpackfix %%f42, %%f9 \n\t"\
> > + "fpackfix %%f44, %%f12 \n\t"\
> > + "fpackfix %%f46, %%f13 \n\t"\
>
> well i dont know sparc asm at all but dont you read a few things in at the top
> and then just overwrite these registers
>
> also you permute the input explicitly instead of setting idct_permutation_type
> properly
>
> please dont sumbit trash
speaking of trash ...
do you know a sparc instruction reference which is not trash
i mean what i found describes how fpackfix packs 2 32bit values into
2 16bit values and then at some other point says fpackfix packs 4 16bit
values
so depending on what the instruction really does my comment about overwriting
the register could be nonsense
[...]
--
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
The worst form of inequality is to try to make unequal things equal.
-- Aristotle
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20070822/25db71cb/attachment.pgp>
More information about the ffmpeg-devel
mailing list