blob: 005b51969663de2977e6730c01bf5925a91efce8 [file] [log] [blame]
<html lang="en">
<head>
<title>MIPS ASE Instruction Generation Overrides - 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="MIPS_002dDependent.html#MIPS_002dDependent" title="MIPS-Dependent">
<link rel="prev" href="MIPS-Option-Stack.html#MIPS-Option-Stack" title="MIPS Option Stack">
<link rel="next" href="MIPS-Floating_002dPoint.html#MIPS-Floating_002dPoint" title="MIPS Floating-Point">
<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
<!--
This file documents the GNU Assembler "as".
Copyright (C) 1991-2019 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>
</head>
<body>
<div class="node">
<a name="MIPS-ASE-Instruction-Generation-Overrides"></a>
<p>
Next:&nbsp;<a rel="next" accesskey="n" href="MIPS-Floating_002dPoint.html#MIPS-Floating_002dPoint">MIPS Floating-Point</a>,
Previous:&nbsp;<a rel="previous" accesskey="p" href="MIPS-Option-Stack.html#MIPS-Option-Stack">MIPS Option Stack</a>,
Up:&nbsp;<a rel="up" accesskey="u" href="MIPS_002dDependent.html#MIPS_002dDependent">MIPS-Dependent</a>
<hr>
</div>
<h4 class="subsection">9.27.12 Directives to control generation of MIPS ASE instructions</h4>
<p><a name="index-MIPS-MIPS_002d3D-instruction-generation-override-1601"></a><a name="index-g_t_0040code_007b_002eset-mips3d_007d-1602"></a><a name="index-g_t_0040code_007b_002eset-nomips3d_007d-1603"></a>The directive <code>.set mips3d</code> makes the assembler accept instructions
from the MIPS-3D Application Specific Extension from that point on
in the assembly. The <code>.set nomips3d</code> directive prevents MIPS-3D
instructions from being accepted.
<p><a name="index-SmartMIPS-instruction-generation-override-1604"></a><a name="index-g_t_0040code_007b_002eset-smartmips_007d-1605"></a><a name="index-g_t_0040code_007b_002eset-nosmartmips_007d-1606"></a>The directive <code>.set smartmips</code> makes the assembler accept
instructions from the SmartMIPS Application Specific Extension to the
MIPS32 ISA from that point on in the assembly. The
<code>.set nosmartmips</code> directive prevents SmartMIPS instructions from
being accepted.
<p><a name="index-MIPS-MDMX-instruction-generation-override-1607"></a><a name="index-g_t_0040code_007b_002eset-mdmx_007d-1608"></a><a name="index-g_t_0040code_007b_002eset-nomdmx_007d-1609"></a>The directive <code>.set mdmx</code> makes the assembler accept instructions
from the MDMX Application Specific Extension from that point on
in the assembly. The <code>.set nomdmx</code> directive prevents MDMX
instructions from being accepted.
<p><a name="index-MIPS-DSP-Release-1-instruction-generation-override-1610"></a><a name="index-g_t_0040code_007b_002eset-dsp_007d-1611"></a><a name="index-g_t_0040code_007b_002eset-nodsp_007d-1612"></a>The directive <code>.set dsp</code> makes the assembler accept instructions
from the DSP Release 1 Application Specific Extension from that point
on in the assembly. The <code>.set nodsp</code> directive prevents DSP
Release 1 instructions from being accepted.
<p><a name="index-MIPS-DSP-Release-2-instruction-generation-override-1613"></a><a name="index-g_t_0040code_007b_002eset-dspr2_007d-1614"></a><a name="index-g_t_0040code_007b_002eset-nodspr2_007d-1615"></a>The directive <code>.set dspr2</code> makes the assembler accept instructions
from the DSP Release 2 Application Specific Extension from that point
on in the assembly. This directive implies <code>.set dsp</code>. The
<code>.set nodspr2</code> directive prevents DSP Release 2 instructions from
being accepted.
<p><a name="index-MIPS-DSP-Release-3-instruction-generation-override-1616"></a><a name="index-g_t_0040code_007b_002eset-dspr3_007d-1617"></a><a name="index-g_t_0040code_007b_002eset-nodspr3_007d-1618"></a>The directive <code>.set dspr3</code> makes the assembler accept instructions
from the DSP Release 3 Application Specific Extension from that point
on in the assembly. This directive implies <code>.set dsp</code> and
<code>.set dspr2</code>. The <code>.set nodspr3</code> directive prevents DSP
Release 3 instructions from being accepted.
<p><a name="index-MIPS-MT-instruction-generation-override-1619"></a><a name="index-g_t_0040code_007b_002eset-mt_007d-1620"></a><a name="index-g_t_0040code_007b_002eset-nomt_007d-1621"></a>The directive <code>.set mt</code> makes the assembler accept instructions
from the MT Application Specific Extension from that point on
in the assembly. The <code>.set nomt</code> directive prevents MT
instructions from being accepted.
<p><a name="index-MIPS-MCU-instruction-generation-override-1622"></a><a name="index-g_t_0040code_007b_002eset-mcu_007d-1623"></a><a name="index-g_t_0040code_007b_002eset-nomcu_007d-1624"></a>The directive <code>.set mcu</code> makes the assembler accept instructions
from the MCU Application Specific Extension from that point on
in the assembly. The <code>.set nomcu</code> directive prevents MCU
instructions from being accepted.
<p><a name="index-MIPS-SIMD-Architecture-instruction-generation-override-1625"></a><a name="index-g_t_0040code_007b_002eset-msa_007d-1626"></a><a name="index-g_t_0040code_007b_002eset-nomsa_007d-1627"></a>The directive <code>.set msa</code> makes the assembler accept instructions
from the MIPS SIMD Architecture Extension from that point on
in the assembly. The <code>.set nomsa</code> directive prevents MSA
instructions from being accepted.
<p><a name="index-Virtualization-instruction-generation-override-1628"></a><a name="index-g_t_0040code_007b_002eset-virt_007d-1629"></a><a name="index-g_t_0040code_007b_002eset-novirt_007d-1630"></a>The directive <code>.set virt</code> makes the assembler accept instructions
from the Virtualization Application Specific Extension from that point
on in the assembly. The <code>.set novirt</code> directive prevents Virtualization
instructions from being accepted.
<p><a name="index-MIPS-eXtended-Physical-Address-_0028XPA_0029-instruction-generation-override-1631"></a><a name="index-g_t_0040code_007b_002eset-xpa_007d-1632"></a><a name="index-g_t_0040code_007b_002eset-noxpa_007d-1633"></a>The directive <code>.set xpa</code> makes the assembler accept instructions
from the XPA Extension from that point on in the assembly. The
<code>.set noxpa</code> directive prevents XPA instructions from being accepted.
<p><a name="index-MIPS16e2-instruction-generation-override-1634"></a><a name="index-g_t_0040code_007b_002eset-mips16e2_007d-1635"></a><a name="index-g_t_0040code_007b_002eset-nomips16e2_007d-1636"></a>The directive <code>.set mips16e2</code> makes the assembler accept instructions
from the MIPS16e2 Application Specific Extension from that point on in the
assembly, whenever in MIPS16 mode. The <code>.set nomips16e2</code> directive
prevents MIPS16e2 instructions from being accepted, in MIPS16 mode. Neither
directive affects the state of MIPS16 mode being active itself which has
separate controls.
<p><a name="index-MIPS-cyclic-redundancy-check-_0028CRC_0029-instruction-generation-override-1637"></a><a name="index-g_t_0040code_007b_002eset-crc_007d-1638"></a><a name="index-g_t_0040code_007b_002eset-nocrc_007d-1639"></a>The directive <code>.set crc</code> makes the assembler accept instructions
from the CRC Extension from that point on in the assembly. The
<code>.set nocrc</code> directive prevents CRC instructions from being accepted.
<p><a name="index-MIPS-Global-INValidate-_0028GINV_0029-instruction-generation-override-1640"></a><a name="index-g_t_0040code_007b_002eset-ginv_007d-1641"></a><a name="index-g_t_0040code_007b_002eset-noginv_007d-1642"></a>The directive <code>.set ginv</code> makes the assembler accept instructions
from the GINV Extension from that point on in the assembly. The
<code>.set noginv</code> directive prevents GINV instructions from being accepted.
<p><a name="index-Loongson-MultiMedia-extensions-Instructions-_0028MMI_0029-generation-override-1643"></a><a name="index-g_t_0040code_007b_002eset-loongson_002dmmi_007d-1644"></a><a name="index-g_t_0040code_007b_002eset-noloongson_002dmmi_007d-1645"></a>The directive <code>.set loongson-mmi</code> makes the assembler accept
instructions from the MMI Extension from that point on in the assembly.
The <code>.set noloongson-mmi</code> directive prevents MMI instructions from
being accepted.
<p><a name="index-Loongson-Content-Address-Memory-_0028CAM_0029-generation-override-1646"></a><a name="index-g_t_0040code_007b_002eset-loongson_002dcam_007d-1647"></a><a name="index-g_t_0040code_007b_002eset-noloongson_002dcam_007d-1648"></a>The directive <code>.set loongson-cam</code> makes the assembler accept
instructions from the Loongson CAM from that point on in the assembly.
The <code>.set noloongson-cam</code> directive prevents Loongson CAM instructions
from being accepted.
<p><a name="index-Loongson-EXTensions-_0028EXT_0029-instructions-generation-override-1649"></a><a name="index-g_t_0040code_007b_002eset-loongson_002dext_007d-1650"></a><a name="index-g_t_0040code_007b_002eset-noloongson_002dext_007d-1651"></a>The directive <code>.set loongson-ext</code> makes the assembler accept
instructions from the Loongson EXT from that point on in the assembly.
The <code>.set noloongson-ext</code> directive prevents Loongson EXT instructions
from being accepted.
<p><a name="index-Loongson-EXTensions-R2-_0028EXT2_0029-instructions-generation-override-1652"></a><a name="index-g_t_0040code_007b_002eset-loongson_002dext2_007d-1653"></a><a name="index-g_t_0040code_007b_002eset-noloongson_002dext2_007d-1654"></a>The directive <code>.set loongson-ext2</code> makes the assembler accept
instructions from the Loongson EXT2 from that point on in the assembly.
This directive implies <code>.set loognson-ext</code>.
The <code>.set noloongson-ext2</code> directive prevents Loongson EXT2 instructions
from being accepted.
<p>Traditional MIPS assemblers do not support these directives.
</body></html>