[llvm-commits] CVS: llvm/docs/LangRef.html

Reid Spencer reid at x10sys.com
Sat Nov 18 19:00:29 PST 2006



Changes in directory llvm/docs:

LangRef.html updated: 1.172 -> 1.173
---
Log message:

Corrections from review.


---
Diffs of the changes:  (+22 -22)

 LangRef.html |   44 ++++++++++++++++++++++----------------------
 1 files changed, 22 insertions(+), 22 deletions(-)


Index: llvm/docs/LangRef.html
diff -u llvm/docs/LangRef.html:1.172 llvm/docs/LangRef.html:1.173
--- llvm/docs/LangRef.html:1.172	Sat Nov 18 15:55:45 2006
+++ llvm/docs/LangRef.html	Sat Nov 18 21:00:14 2006
@@ -3101,9 +3101,8 @@
 <p>If the operands are <a href="#t_pointer">pointer</a> typed, the pointer
 values are treated as integers and then compared.</p>
 <p>If the operands are <a href="#t_packed">packed</a> typed, the elements of 
-the vector are compared in turn and the predicate must hold for all elements.
-While this is of dubious use for predicates other than <tt>eq</tt> and 
-<tt>ne</tt>, the other predicates can be used with packed types.</p>
+the vector are compared in turn and the predicate must hold for all
+elements.</p>
 
 <h5>Example:</h5>
 <pre>  <result> = icmp eq int 4, 5           <i>; yields: result=false</i>
@@ -3130,7 +3129,7 @@
 the condition code which indicates the kind of comparison to perform. It is not
 a value, just a keyword. The possibilities for the condition code are:
 <ol>
-  <li><tt>false</tt>: no comparison, always false (always folded)</li>
+  <li><tt>false</tt>: no comparison, always returns false</li>
   <li><tt>oeq</tt>: ordered and equal</li>
   <li><tt>ogt</tt>: ordered and greater than </li>
   <li><tt>oge</tt>: ordered and greater than or equal</li>
@@ -3145,49 +3144,50 @@
   <li><tt>ule</tt>: unordered or less than or equal</li>
   <li><tt>une</tt>: unordered or not equal</li>
   <li><tt>uno</tt>: unordered (either nans)</li>
-  <li><tt>true</tt>: no comparison, always true (always folded)</li>
+  <li><tt>true</tt>: no comparison, always returns true</li>
 </ol>
 <p>The <tt>val1</tt> and <tt>val2</tt> arguments must be of 
 <a href="#t_floating">floating point</a>, or a <a href="#t_packed">packed</a> 
 floating point type. They must have identical types.</p>
+<p>In the foregoing, <i>ordered</i> means that neither operand is a QNAN and 
+<i>unordered</i> means that either operand is a QNAN.</p>
 <h5>Semantics:</h5>
 <p>The '<tt>fcmp</tt>' compares <tt>var1</tt> and <tt>var2</tt> according to 
 the condition code given as <tt>cond</tt>. The comparison performed always
 yields a <a href="#t_bool">bool</a> result, as follows: 
 <ol>
   <li><tt>false</tt>: always yields <tt>false</tt>, regardless of operands.</li>
-  <li><tt>oeq</tt>: yields <tt>true</tt> if both operands are ordered and 
+  <li><tt>oeq</tt>: yields <tt>true</tt> if both operands are not a QNAN and 
   <tt>var1</tt> is equal to <tt>var2</tt>.</li>
-  <li><tt>ogt</tt>: yields <tt>true</tt> if both operands are ordered and
+  <li><tt>ogt</tt>: yields <tt>true</tt> if both operands are not a QNAN and
   <tt>var1</tt> is greather than <tt>var2</tt>.</li>
-  <li><tt>oge</tt>: yields <tt>true</tt> if both operands are ordered and 
+  <li><tt>oge</tt>: yields <tt>true</tt> if both operands are not a QNAN and 
   <tt>var1</tt> is greater than or equal to <tt>var2</tt>.</li>
-  <li><tt>olt</tt>: yields <tt>true</tt> if both operands are ordered and 
+  <li><tt>olt</tt>: yields <tt>true</tt> if both operands are not a QNAN and 
   <tt>var1</tt> is less than <tt>var2</tt>.</li>
-  <li><tt>ole</tt>: yields <tt>true</tt> if both operands are ordered and 
+  <li><tt>ole</tt>: yields <tt>true</tt> if both operands are not a QNAN and 
   <tt>var1</tt> is less than or equal to <tt>var2</tt>.</li>
-  <li><tt>one</tt>: yields <tt>true</tt> if both operands are ordered and 
+  <li><tt>one</tt>: yields <tt>true</tt> if both operands are not a QNAN and 
   <tt>var1</tt> is not equal to <tt>var2</tt>.</li>
-  <li><tt>ord</tt>: yields <tt>true</tt> if both operands are ordered.</li>
-  <li><tt>ueq</tt>: yields <tt>true</tt> if either operand is unordered or 
+  <li><tt>ord</tt>: yields <tt>true</tt> if both operands are not a QNAN.</li>
+  <li><tt>ueq</tt>: yields <tt>true</tt> if either operand is a QNAN or 
   <tt>var1</tt> is equal to <tt>var2</tt>.</li>
-  <li><tt>ugt</tt>: yields <tt>true</tt> if either operand is unordered or 
+  <li><tt>ugt</tt>: yields <tt>true</tt> if either operand is a QNAN or 
   <tt>var1</tt> is greater than <tt>var2</tt>.</li>
-  <li><tt>uge</tt>: yields <tt>true</tt> if either operand is unordered or 
+  <li><tt>uge</tt>: yields <tt>true</tt> if either operand is a QNAN or 
   <tt>var1</tt> is greater than or equal to <tt>var2</tt>.</li>
-  <li><tt>ult</tt>: yields <tt>true</tt> if either operand is unordered or 
+  <li><tt>ult</tt>: yields <tt>true</tt> if either operand is a QNAN or 
   <tt>var1</tt> is less than <tt>var2</tt>.</li>
-  <li><tt>ule</tt>: yields <tt>true</tt> if either operand is unordered or 
+  <li><tt>ule</tt>: yields <tt>true</tt> if either operand is a QNAN or 
   <tt>var1</tt> is less than or equal to <tt>var2</tt>.</li>
-  <li><tt>une</tt>: yields <tt>true</tt> if either operand is unordered or 
+  <li><tt>une</tt>: yields <tt>true</tt> if either operand is a QNAN or 
   <tt>var1</tt> is not equal to <tt>var2</tt>.</li>
-  <li><tt>uno</tt>: yields <tt>true</tt> if either operand is unordered.</li>
+  <li><tt>uno</tt>: yields <tt>true</tt> if either operand is a QNAN.</li>
   <li><tt>true</tt>: always yields <tt>true</tt>, regardless of operands.</li>
 </ol>
 <p>If the operands are <a href="#t_packed">packed</a> typed, the elements of 
 the vector are compared in turn and the predicate must hold for all elements.
-While this is of dubious use for predicates other than <tt>eq</tt> and 
-<tt>ne</tt>, the other predicates can be used with packed types.</p>
+</p>
 
 <h5>Example:</h5>
 <pre>  <result> = fcmp oeq float 4.0, 5.0    <i>; yields: result=false</i>
@@ -4427,7 +4427,7 @@
 
   <a href="mailto:sabre at nondot.org">Chris Lattner</a><br>
   <a href="http://llvm.org">The LLVM Compiler Infrastructure</a><br>
-  Last modified: $Date: 2006/11/18 21:55:45 $
+  Last modified: $Date: 2006/11/19 03:00:14 $
 </address>
 </body>
 </html>






More information about the llvm-commits mailing list