<?xml version="1.0" encoding="utf-8"?>
<!-- generator="FeedCreator 1.7.2-ppt DokuWiki" -->
<?xml-stylesheet href="http://wiki.fx-world.org/lib/styles/feed.css" type="text/css"?>
<rdf:RDF
    xmlns="http://purl.org/rss/1.0/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
    xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel rdf:about="http://wiki.fx-world.org/feed.php">
        <title>PSP VFPU docuwiki</title>
        <description></description>
        <link>http://wiki.fx-world.org/</link>
        <image rdf:resource="http://wiki.fx-world.org/lib/images/favicon.ico" />
       <dc:date>2012-02-01T22:37:40+01:00</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="http://wiki.fx-world.org/doku.php?id=ops:vpfxd&amp;amp;rev=1312582579&amp;do=diff1312582579"/>
                <rdf:li rdf:resource="http://wiki.fx-world.org/doku.php?id=start&amp;amp;rev=1297273617&amp;do=diff1297273617"/>
                <rdf:li rdf:resource="http://wiki.fx-world.org/doku.php?id=ops:vhdp&amp;amp;rev=1215553539&amp;do=diff1215553539"/>
                <rdf:li rdf:resource="http://wiki.fx-world.org/doku.php?id=ops:vdot&amp;amp;rev=1215553406&amp;do=diff1215553406"/>
                <rdf:li rdf:resource="http://wiki.fx-world.org/doku.php?id=ops:vpfxt&amp;amp;rev=1215552888&amp;do=diff1215552888"/>
                <rdf:li rdf:resource="http://wiki.fx-world.org/doku.php?id=ops:vpfxs&amp;amp;rev=1215552740&amp;do=diff1215552740"/>
                <rdf:li rdf:resource="http://wiki.fx-world.org/doku.php?id=ops:vcmp&amp;amp;rev=1184626718&amp;do=diff1184626718"/>
                <rdf:li rdf:resource="http://wiki.fx-world.org/doku.php?id=ops:lv_q&amp;amp;rev=1184626347&amp;do=diff1184626347"/>
                <rdf:li rdf:resource="http://wiki.fx-world.org/doku.php?id=ops:lv_s&amp;amp;rev=1184626319&amp;do=diff1184626319"/>
            </rdf:Seq>
        </items>
    </channel>
    <image rdf:about="http://wiki.fx-world.org/lib/images/favicon.ico">
        <title>PSP VFPU docuwiki</title>
        <link>http://wiki.fx-world.org/</link>
        <url>http://wiki.fx-world.org/lib/images/favicon.ico</url>
    </image>
    <item rdf:about="http://wiki.fx-world.org/doku.php?id=ops:vpfxd&amp;amp;rev=1312582579&amp;do=diff1312582579">
        <dc:format>text/html</dc:format>
        <dc:date>2011-08-06T00:16:19+01:00</dc:date>
        <dc:creator>JinaCurriere</dc:creator>
        <title>ops:vpfxd</title>
        <link>http://wiki.fx-world.org/doku.php?id=ops:vpfxd&amp;amp;rev=1312582579&amp;do=diff1312582579</link>
        <description>vpfxd []

Alters the writing contents of a single precision float vector vd in the next non-prefix instruction.

Can be used as a prefix instruction or as a postfix operand for vd. online casino

Usage as prefix instruction: 

vpfxd ?0, ?1, ?2, ?3</description>
    </item>
    <item rdf:about="http://wiki.fx-world.org/doku.php?id=start&amp;amp;rev=1297273617&amp;do=diff1297273617">
        <dc:format>text/html</dc:format>
        <dc:date>2011-02-09T18:46:57+01:00</dc:date>
        <dc:creator>inamore</dc:creator>
        <title>start</title>
        <link>http://wiki.fx-world.org/doku.php?id=start&amp;amp;rev=1297273617&amp;do=diff1297273617</link>
        <description>This is the project page for the PSP VFPU documentation project. 
  The original starter of this project was hlide. 
  The original document creation thread can be found here: 
  &lt;http://forums.ps2dev.org/viewtopic.php?t=6929&gt; 
 

Please visit the index for getting an overview of the currently documented VFPU ops.  You can click this link online casino roulette</description>
    </item>
    <item rdf:about="http://wiki.fx-world.org/doku.php?id=ops:vhdp&amp;amp;rev=1215553539&amp;do=diff1215553539">
        <dc:format>text/html</dc:format>
        <dc:date>2008-07-08T23:45:39+01:00</dc:date>
        <dc:creator>hlide</dc:creator>
        <title>ops:vhdp</title>
        <link>http://wiki.fx-world.org/doku.php?id=ops:vhdp&amp;amp;rev=1215553539&amp;do=diff1215553539</link>
        <description>vhdp.q/t/p

Calculates the homogeneous dot product of vs and vt and stores the result in vd.s

Usage: 

vhdp.q/t/p vd.s, vs, vt
{
  vd.s = vt[|q/t/p|];
  for (i = 0; i &lt; |q/t/p|-1; ++i)
    vd.s += vs[i] * vt[i];
}

               clock ticks       latency           vhdp.q/t/p                   1  7</description>
    </item>
    <item rdf:about="http://wiki.fx-world.org/doku.php?id=ops:vdot&amp;amp;rev=1215553406&amp;do=diff1215553406">
        <dc:format>text/html</dc:format>
        <dc:date>2008-07-08T23:43:26+01:00</dc:date>
        <dc:creator>hlide</dc:creator>
        <title>ops:vdot</title>
        <link>http://wiki.fx-world.org/doku.php?id=ops:vdot&amp;amp;rev=1215553406&amp;do=diff1215553406</link>
        <description>vdot.q/t/p

Calculates the vector dot product of vs and vt and stores the result in vd.s

Usage: 

vdot.q/t/p vd.s, vs, vt
{
  vd.s = 0;
  for (i = 0; i &lt; |q/t/p/s|; ++i)
    vd.s += vs[i] * vt[i];
}

             clock ticks       latency           vdot.q/t/p                 1  7</description>
    </item>
    <item rdf:about="http://wiki.fx-world.org/doku.php?id=ops:vpfxt&amp;amp;rev=1215552888&amp;do=diff1215552888">
        <dc:format>text/html</dc:format>
        <dc:date>2008-07-08T23:34:48+01:00</dc:date>
        <dc:creator>hlide</dc:creator>
        <title>ops:vpfxt</title>
        <link>http://wiki.fx-world.org/doku.php?id=ops:vpfxt&amp;amp;rev=1215552888&amp;do=diff1215552888</link>
        <description>vpfxt []

Alters the reading contents of a single precision float vector vt in the next non-prefix instruction.

Can be used as a prefix instruction or as a postfix operand for vt.

Usage as prefix instruction: 

vpfxt ?0, ?1, ?2, ?3


Example as postfix operand:</description>
    </item>
    <item rdf:about="http://wiki.fx-world.org/doku.php?id=ops:vpfxs&amp;amp;rev=1215552740&amp;do=diff1215552740">
        <dc:format>text/html</dc:format>
        <dc:date>2008-07-08T23:32:20+01:00</dc:date>
        <dc:creator>hlide</dc:creator>
        <title>ops:vpfxs</title>
        <link>http://wiki.fx-world.org/doku.php?id=ops:vpfxs&amp;amp;rev=1215552740&amp;do=diff1215552740</link>
        <description>vpfxs []

Alters the reading contents of a single precision float vector vs in the next non-prefix instruction.

Can be used as a prefix instruction or as a postfix operand for vs.

Usage as prefix instruction: 

vpfxs ?0, ?1, ?2, ?3


Example as postfix operand:</description>
    </item>
    <item rdf:about="http://wiki.fx-world.org/doku.php?id=ops:vcmp&amp;amp;rev=1184626718&amp;do=diff1184626718">
        <dc:format>text/html</dc:format>
        <dc:date>2007-07-17T00:58:38+01:00</dc:date>
        <dc:creator>hlide</dc:creator>
        <title>ops:vcmp</title>
        <link>http://wiki.fx-world.org/doku.php?id=ops:vcmp&amp;amp;rev=1184626718&amp;do=diff1184626718</link>
        <description>vcmp.q/t/p/s

Compare each component of the single precision float vector vd to the same component of vs and assigned VFPU_CC according to their comparison results.

Type

single-cycle instruction

Description

vcmp.q/t/p/s cn2, vd, vs (where cn2 = EQ/NE/LT/LE/GT/GE)
{
  for (i = 0; i &lt; 5; ++i)
    VFPU_CC[i] = 0;

  VFPU_CC[5] = 1;

  for (i = 0; i &lt; |q/t/p|; ++i)
    VFPU_CC[i] = bcmp(cn2, vs[i], vt[i]);  // cn2 = EQ/NE/LE/LT/GE/GT
  
  for (i = 0; i &lt; |q/t/p|; ++i)
  {
    VFPU_CC[4] ||= VFPU…</description>
    </item>
    <item rdf:about="http://wiki.fx-world.org/doku.php?id=ops:lv_q&amp;amp;rev=1184626347&amp;do=diff1184626347">
        <dc:format>text/html</dc:format>
        <dc:date>2007-07-17T00:52:27+01:00</dc:date>
        <dc:creator>hlide</dc:creator>
        <title>ops:lv_q</title>
        <link>http://wiki.fx-world.org/doku.php?id=ops:lv_q&amp;amp;rev=1184626347&amp;do=diff1184626347</link>
        <description>lv.q

Loads a 16-byte long value from memory into a quad vfpu register.

Type

single-cycle instruction

Description

lv.q vd, offset(rm)
{
   vd[0] = *((uint32 *)(rm + offset +  0));
   vd[1] = *((uint32 *)(rm + offset +  4));
   vd[2] = *((uint32 *)(rm + offset +  8));
   vd[3] = *((uint32 *)(rm + offset + 12));
}</description>
    </item>
    <item rdf:about="http://wiki.fx-world.org/doku.php?id=ops:lv_s&amp;amp;rev=1184626319&amp;do=diff1184626319">
        <dc:format>text/html</dc:format>
        <dc:date>2007-07-17T00:51:59+01:00</dc:date>
        <dc:creator>hlide</dc:creator>
        <title>ops:lv_s</title>
        <link>http://wiki.fx-world.org/doku.php?id=ops:lv_s&amp;amp;rev=1184626319&amp;do=diff1184626319</link>
        <description>lv.s

Loads a 4-byte long value from memory into a single vfpu register.

Type

single-cycle instruction

Description

lv.s vd.s, offset(rm)
{
   vd.s = *((uint32 *)(rm + offset));
}


rm is a general purpose register holding a memory address. offset is optional.</description>
    </item>
</rdf:RDF>

