1<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2<html xml:lang="en-US" lang="en-US" xmlns="http://www.w3.org/1999/xhtml">
3  <head>
4    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
5    <meta http-equiv="Content-Style-Type" content="text/css" />
6    <link rel="stylesheet" href="../css/manpage.css" type="text/css" />
7    <link rel="stylesheet" href="../css/timetable.css" type="text/css" />
8    <title>dp4 - Four component dot product</title>
9  </head>
10  <body>
11    <h1>dp4 - Four component dot product</h1>
12
13    <h2>Calling Format</h2>
14    <div class="section">
15      <pre class="definition">
16dp4     dest, src0, src1
17</pre>
18    </div>
19
20    <h2>Operands</h2>
21    <div class="section">
22      <table class="arguments">
23        <thead>
24          <tr>
25            <th>Name</th>
26            <td>Registers</td>
27          </tr>
28        </thead>
29        <tr>
30          <th>dest</th>
31          <td>An output register or temporary register.</td>
32        </tr>
33        <tr>
34          <th>src0</th>
35          <td>A temporary register, input register, or floating-point constant register.</td>
36        </tr>
37        <tr>
38          <th>src1</th>
39          <td>A temporary register, input register, or floating-point constant register.</td>
40        </tr>
41      </table>
42      <p class="notice">
43        You cannot specify a floating-point constant register for both <SPAN class="argument">src0</SPAN> and <SPAN class="argument">src1</SPAN>.<br> You cannot specify input registers using different indices for <SPAN class="argument">src0</SPAN> and <SPAN class="argument">src1</SPAN> at the same time.<br>
44      </p>
45    </div>
46
47    <h2>Overview</h2>
48    <div class="section">
49      <p>Stores the dot product of the four components of <SPAN class="argument">src0</SPAN> and <SPAN class="argument">src1</SPAN> in <SPAN class="argument">dest</SPAN>.</p>
50    </div>
51
52    <h2>Operation</h2>
53    <div class="section">
54<pre class="definition">
55dot = ( src0.x * src1.x ) + ( src0.y * src1.y ) + ( src0.z * src1.z ) + ( src0.w * src1.w )
56dest.x = dot
57dest.y = dot
58dest.z = dot
59dest.w = dot
60</pre>
61    </div>
62
63    <h2>Code Example</h2>
64    <div class="section">
65<pre class="definition">
66dp4     r0, c1,      v2
67dp4     o0, r7.yzwx, c4.xxyw
68</pre>
69    </div>
70
71    <h2>Timetable</h2>
72    <div class="section">
73      <table class="timetable">
74        <tr>
75          <th></th>
76          <th>1</th><th>2</th><th>3</th><th>4</th><th>5</th><th>6</th>
77        </tr>
78        <tr>
79          <th>dp4</th>
80          <td class="read">read</td>
81          <td class="MUL">MUL</td>
82          <td class="ADD">ADD</td>
83          <td class="ADD">ADD</td>
84          <td class="post">post</td>
85          <td class="write">write</td>
86          <td class="dummy"></td>
87        </tr>
88      </table>
89    </div>
90
91
92  <h2>Revision History</h2>
93  <div class="section">
94    <dl class="history">
95      <dt>2011/12/20</dt>
96      <dd>Initial version.<br />
97      </dd>
98    </dl>
99  </div>
100
101  <hr><p>CONFIDENTIAL</p></body>
102</html>