<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<!-- This file documents the GNU Assembler "as".

Copyright (C) 1991-2013 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".
 -->
<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
<head>
<title>Using as: TIC6X Directives</title>

<meta name="description" content="Using as: TIC6X Directives">
<meta name="keywords" content="Using as: TIC6X Directives">
<meta name="resource-type" content="document">
<meta name="distribution" content="global">
<meta name="Generator" content="makeinfo">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link href="index.html#Top" rel="start" title="Top">
<link href="AS-Index.html#AS-Index" rel="index" title="AS Index">
<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
<link href="TIC6X_002dDependent.html#TIC6X_002dDependent" rel="up" title="TIC6X-Dependent">
<link href="TILE_002dGx_002dDependent.html#TILE_002dGx_002dDependent" rel="next" title="TILE-Gx-Dependent">
<link href="TIC6X-Syntax.html#TIC6X-Syntax" rel="prev" title="TIC6X Syntax">
<style type="text/css">
<!--
a.summary-letter {text-decoration: none}
blockquote.smallquotation {font-size: smaller}
div.display {margin-left: 3.2em}
div.example {margin-left: 3.2em}
div.indentedblock {margin-left: 3.2em}
div.lisp {margin-left: 3.2em}
div.smalldisplay {margin-left: 3.2em}
div.smallexample {margin-left: 3.2em}
div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
div.smalllisp {margin-left: 3.2em}
kbd {font-style:oblique}
pre.display {font-family: inherit}
pre.format {font-family: inherit}
pre.menu-comment {font-family: serif}
pre.menu-preformatted {font-family: serif}
pre.smalldisplay {font-family: inherit; font-size: smaller}
pre.smallexample {font-size: smaller}
pre.smallformat {font-family: inherit; font-size: smaller}
pre.smalllisp {font-size: smaller}
span.nocodebreak {white-space:nowrap}
span.nolinebreak {white-space:nowrap}
span.roman {font-family:serif; font-weight:normal}
span.sansserif {font-family:sans-serif; font-weight:normal}
ul.no-bullet {list-style: none}
-->
</style>


</head>

<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="TIC6X-Directives"></a>
<div class="header">
<p>
Previous: <a href="TIC6X-Syntax.html#TIC6X-Syntax" accesskey="p" rel="prev">TIC6X Syntax</a>, Up: <a href="TIC6X_002dDependent.html#TIC6X_002dDependent" accesskey="u" rel="up">TIC6X-Dependent</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="AS-Index.html#AS-Index" title="Index" rel="index">Index</a>]</p>
</div>
<hr>
<a name="TIC6X-Directives-1"></a>
<h4 class="subsection">9.43.3 TIC6X Directives</h4>

<a name="index-machine-directives_002c-TIC6X"></a>
<a name="index-TIC6X-machine-directives"></a>

<p>Directives controlling the set of instructions accepted by the
assembler have effect for instructions between the directive and any
subsequent directive overriding it.
</p>
<dl compact="compact">
<dd>
<a name="index-_002earch-directive_002c-TIC6X"></a>
</dd>
<dt><code>.arch <var>arch</var></code></dt>
<dd><p>This has the same effect as <samp>-march=<var>arch</var></samp>.
</p>
<a name="index-_002ecantunwind-directive_002c-TIC6X"></a>
</dd>
<dt><code>.cantunwind</code></dt>
<dd><p>Prevents unwinding through the current function.  No personality routine
or exception table data is required or permitted.
</p>
<p>If this is not specified then frame unwinding information will be
constructed from CFI directives. see <a href="CFI-directives.html#CFI-directives">CFI directives</a>.
</p>
<a name="index-_002ec6xabi_005fattribute-directive_002c-TIC6X"></a>
</dd>
<dt><code>.c6xabi_attribute <var>tag</var>, <var>value</var></code></dt>
<dd><p>Set the C6000 EABI build attribute <var>tag</var> to <var>value</var>.
</p>
<p>The <var>tag</var> is either an attribute number or one of
<code>Tag_ISA</code>, <code>Tag_ABI_wchar_t</code>,
<code>Tag_ABI_stack_align_needed</code>,
<code>Tag_ABI_stack_align_preserved</code>, <code>Tag_ABI_DSBT</code>,
<code>Tag_ABI_PID</code>, <code>Tag_ABI_PIC</code>,
<code>TAG_ABI_array_object_alignment</code>,
<code>TAG_ABI_array_object_align_expected</code>,
<code>Tag_ABI_compatibility</code> and <code>Tag_ABI_conformance</code>.  The
<var>value</var> is either a <code>number</code>, <code>&quot;string&quot;</code>, or
<code>number, &quot;string&quot;</code> depending on the tag.
</p>
<a name="index-_002eehtype-directive_002c-TIC6X"></a>
</dd>
<dt><code>.ehtype <var>symbol</var></code></dt>
<dd><p>Output an exception type table reference to <var>symbol</var>.
</p>
<a name="index-_002eendp-directive_002c-TIC6X"></a>
</dd>
<dt><code>.endp</code></dt>
<dd><p>Marks the end of and exception table or function.  If preceeded by a
<code>.handlerdata</code> directive then this also switched back to the previous
text section.
</p>
<a name="index-_002ehandlerdata-directive_002c-TIC6X"></a>
</dd>
<dt><code>.handlerdata</code></dt>
<dd><p>Marks the end of the current function, and the start of the exception table
entry for that function.  Anything between this directive and the
<code>.endp</code> directive will be added to the exception table entry.
</p>
<p>Must be preceded by a CFI block containing a <code>.cfi_lsda</code> directive.
</p>
<a name="index-_002enocmp-directive_002c-TIC6X"></a>
</dd>
<dt><code>.nocmp</code></dt>
<dd><p>Disallow use of C64x+ compact instructions in the current text
section.
</p>
<a name="index-_002epersonalityindex-directive_002c-TIC6X"></a>
</dd>
<dt><code>.personalityindex <var>index</var></code></dt>
<dd><p>Sets the personality routine for the current function to the ABI specified
compact routine number <var>index</var>
</p>
<a name="index-_002epersonality-directive_002c-TIC6X"></a>
</dd>
<dt><code>.personality <var>name</var></code></dt>
<dd><p>Sets the personality routine for the current function to <var>name</var>.
</p>
<a name="index-_002escomm-directive_002c-TIC6X"></a>
</dd>
<dt><code>.scomm <var>symbol</var>, <var>size</var>, <var>align</var></code></dt>
<dd><p>Like <code>.comm</code>, creating a common symbol <var>symbol</var> with size <var>size</var>
and alignment <var>align</var>, but unlike when using <code>.comm</code>, this symbol
will be placed into the small BSS section by the linker.
</p>
</dd>
</dl>


<hr>
<div class="header">
<p>
Previous: <a href="TIC6X-Syntax.html#TIC6X-Syntax" accesskey="p" rel="prev">TIC6X Syntax</a>, Up: <a href="TIC6X_002dDependent.html#TIC6X_002dDependent" accesskey="u" rel="up">TIC6X-Dependent</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="AS-Index.html#AS-Index" title="Index" rel="index">Index</a>]</p>
</div>



</body>
</html>
