blob: 12b59b396d65ce4ac727fd34355c8cd9353c4da0 [file] [log] [blame]
<html lang="en">
<head>
<title>i386-SIMD - Using as</title>
<meta http-equiv="Content-Type" content="text/html">
<meta name="description" content="Using as">
<meta name="generator" content="makeinfo 4.13">
<link title="Top" rel="start" href="index.html#Top">
<link rel="up" href="i386_002dDependent.html#i386_002dDependent" title="i386-Dependent">
<link rel="prev" href="i386_002dFloat.html#i386_002dFloat" title="i386-Float">
<link rel="next" href="i386_002dLWP.html#i386_002dLWP" title="i386-LWP">
<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
<!--
This file documents the GNU Assembler "as".
Copyright (C) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
2000, 2001, 2002, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3
or any later version published by the Free Software Foundation;
with no Invariant Sections, with no Front-Cover Texts, and with no
Back-Cover Texts. A copy of the license is included in the
section entitled ``GNU Free Documentation License''.
-->
<meta http-equiv="Content-Style-Type" content="text/css">
<style type="text/css"><!--
pre.display { font-family:inherit }
pre.format { font-family:inherit }
pre.smalldisplay { font-family:inherit; font-size:smaller }
pre.smallformat { font-family:inherit; font-size:smaller }
pre.smallexample { font-size:smaller }
pre.smalllisp { font-size:smaller }
span.sc { font-variant:small-caps }
span.roman { font-family:serif; font-weight:normal; }
span.sansserif { font-family:sans-serif; font-weight:normal; }
--></style>
<link rel="stylesheet" type="text/css" href="../cs.css">
</head>
<body>
<div class="node">
<a name="i386-SIMD"></a>
<a name="i386_002dSIMD"></a>
<p>
Next:&nbsp;<a rel="next" accesskey="n" href="i386_002dLWP.html#i386_002dLWP">i386-LWP</a>,
Previous:&nbsp;<a rel="previous" accesskey="p" href="i386_002dFloat.html#i386_002dFloat">i386-Float</a>,
Up:&nbsp;<a rel="up" accesskey="u" href="i386_002dDependent.html#i386_002dDependent">i386-Dependent</a>
<hr>
</div>
<h4 class="subsection">9.13.11 Intel's MMX and AMD's 3DNow! SIMD Operations</h4>
<p><a name="index-MMX_002c-i386-974"></a><a name="index-g_t3DNow_0021_002c-i386-975"></a><a name="index-SIMD_002c-i386-976"></a><a name="index-MMX_002c-x86_002d64-977"></a><a name="index-g_t3DNow_0021_002c-x86_002d64-978"></a><a name="index-SIMD_002c-x86_002d64-979"></a>
<code>as</code> supports Intel's MMX instruction set (SIMD
instructions for integer data), available on Intel's Pentium MMX
processors and Pentium II processors, AMD's K6 and K6-2 processors,
Cyrix' M2 processor, and probably others. It also supports AMD's 3DNow!
instruction set (SIMD instructions for 32-bit floating point data)
available on AMD's K6-2 processor and possibly others in the future.
<p>Currently, <code>as</code> does not support Intel's floating point
SIMD, Katmai (KNI).
<p>The eight 64-bit MMX operands, also used by 3DNow!, are called &lsquo;<samp><span class="samp">%mm0</span></samp>&rsquo;,
&lsquo;<samp><span class="samp">%mm1</span></samp>&rsquo;, ... &lsquo;<samp><span class="samp">%mm7</span></samp>&rsquo;. They contain eight 8-bit integers, four
16-bit integers, two 32-bit integers, one 64-bit integer, or two 32-bit
floating point values. The MMX registers cannot be used at the same time
as the floating point stack.
<p>See Intel and AMD documentation, keeping in mind that the operand order in
instructions is reversed from the Intel syntax.
</body></html>