[llvm-commits] [llvm] r115255 - /llvm/trunk/docs/LangRef.html

Nick Lewycky nicholas at mxc.ca
Thu Sep 30 18:02:28 PDT 2010


Dale Johannesen wrote:
> Author: johannes
> Date: Thu Sep 30 19:48:59 2010
> New Revision: 115255
>
> URL: http://llvm.org/viewvc/llvm-project?rev=115255&view=rev
> Log:
> Add some doc for the x86mmx type.
>
>
> Modified:
>      llvm/trunk/docs/LangRef.html
>
> Modified: llvm/trunk/docs/LangRef.html
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/docs/LangRef.html?rev=115255&r1=115254&r2=115255&view=diff
> ==============================================================================
> --- llvm/trunk/docs/LangRef.html (original)
> +++ llvm/trunk/docs/LangRef.html Thu Sep 30 19:48:59 2010
> @@ -62,6 +62,7 @@
>           <ol>
>             <li><a href="#t_integer">Integer Type</a></li>
>             <li><a href="#t_floating">Floating Point Types</a></li>
> +<li><a href="#t_x86mmx">X86mmx Type</a></li>
>             <li><a href="#t_void">Void Type</a></li>
>             <li><a href="#t_label">Label Type</a></li>
>             <li><a href="#t_metadata">Metadata Type</a></li>
> @@ -1484,6 +1485,7 @@
>         <td><a href="#t_label">label</a>,
>             <a href="#t_void">void</a>,
>             <a href="#t_floating">floating point</a>,
> +<a href="#t_x86mmx">x86mmx</a>,
>             <a href="#t_metadata">metadata</a>.</td>
>       </tr>
>       <tr>
> @@ -1571,6 +1573,21 @@
>   </div>
>
>   <!-- _______________________________________________________________________ -->
> +<div class="doc_subsubsection">  <a name="t_x86mmx">X86mmx Type</a>  </div>
> +
> +<div class="doc_text">
> +
> +<h5>Overview:</h5>
> +<p>The x86mmx type represents a value held in an MMX register on an x86 machine.  The operations allowed on it are quite limited:  parameters and return values, load and store, and bitcast.  User-specified MMX instructions are represented as intrinsic or asm calls with arguments and/or results of this type.  There are no arrays, vectors or constants of this type.</p>

Hold on, the rule is that you can have an undef of any type, and I think 
you can have a null/zeroinitialized of any type too.

If you really can't permit this -- I hate to say it after you've done 
all this work -- but how bad would it be to make MMX work like the 
half-width float support, where there are only intrinsics to do 
conversions to and from, while operations have to be done on a proper 
LLVM type? It sounds like that model may be a better fit.

> +
> +<h5>Syntax:</h5>
> +<pre>
> +  void

"void" -> "x86mmx" :)

Nick

> +</pre>
> +
> +</div>
> +
> +<!-- _______________________________________________________________________ -->
>   <div class="doc_subsubsection">  <a name="t_void">Void Type</a>  </div>
>
>   <div class="doc_text">
> @@ -2050,6 +2067,7 @@
>      they match the long double format on your target.  All hexadecimal formats
>      are big-endian (sign bit at the left).</p>
>
> +<p>There are no constants of type x86mmx.</p>
>   </div>
>
>   <!-- ======================================================================= -->
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>




More information about the llvm-commits mailing list