1<html lang="en"> 2<head> 3<title>Alpha Built-in Functions - Using the GNU Compiler Collection (GCC)</title> 4<meta http-equiv="Content-Type" content="text/html"> 5<meta name="description" content="Using the GNU Compiler Collection (GCC)"> 6<meta name="generator" content="makeinfo 4.13"> 7<link title="Top" rel="start" href="index.html#Top"> 8<link rel="up" href="Target-Builtins.html#Target-Builtins" title="Target Builtins"> 9<link rel="next" href="ARM-iWMMXt-Built_002din-Functions.html#ARM-iWMMXt-Built_002din-Functions" title="ARM iWMMXt Built-in Functions"> 10<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage"> 11<!-- 12Copyright (C) 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 131998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 142010 Free Software Foundation, Inc. 15 16Permission is granted to copy, distribute and/or modify this document 17under the terms of the GNU Free Documentation License, Version 1.3 or 18any later version published by the Free Software Foundation; with the 19Invariant Sections being ``Funding Free Software'', the Front-Cover 20Texts being (a) (see below), and with the Back-Cover Texts being (b) 21(see below). A copy of the license is included in the section entitled 22``GNU Free Documentation License''. 23 24(a) The FSF's Front-Cover Text is: 25 26 A GNU Manual 27 28(b) The FSF's Back-Cover Text is: 29 30 You have freedom to copy and modify this GNU Manual, like GNU 31 software. Copies published by the Free Software Foundation raise 32 funds for GNU development.--> 33<meta http-equiv="Content-Style-Type" content="text/css"> 34<style type="text/css"><!-- 35 pre.display { font-family:inherit } 36 pre.format { font-family:inherit } 37 pre.smalldisplay { font-family:inherit; font-size:smaller } 38 pre.smallformat { font-family:inherit; font-size:smaller } 39 pre.smallexample { font-size:smaller } 40 pre.smalllisp { font-size:smaller } 41 span.sc { font-variant:small-caps } 42 span.roman { font-family:serif; font-weight:normal; } 43 span.sansserif { font-family:sans-serif; font-weight:normal; } 44--></style> 45<link rel="stylesheet" type="text/css" href="../cs.css"> 46</head> 47<body> 48<div class="node"> 49<a name="Alpha-Built-in-Functions"></a> 50<a name="Alpha-Built_002din-Functions"></a> 51<p> 52Next: <a rel="next" accesskey="n" href="ARM-iWMMXt-Built_002din-Functions.html#ARM-iWMMXt-Built_002din-Functions">ARM iWMMXt Built-in Functions</a>, 53Up: <a rel="up" accesskey="u" href="Target-Builtins.html#Target-Builtins">Target Builtins</a> 54<hr> 55</div> 56 57<h4 class="subsection">6.54.1 Alpha Built-in Functions</h4> 58 59<p>These built-in functions are available for the Alpha family of 60processors, depending on the command-line switches used. 61 62 <p>The following built-in functions are always available. They 63all generate the machine instruction that is part of the name. 64 65<pre class="smallexample"> long __builtin_alpha_implver (void) 66 long __builtin_alpha_rpcc (void) 67 long __builtin_alpha_amask (long) 68 long __builtin_alpha_cmpbge (long, long) 69 long __builtin_alpha_extbl (long, long) 70 long __builtin_alpha_extwl (long, long) 71 long __builtin_alpha_extll (long, long) 72 long __builtin_alpha_extql (long, long) 73 long __builtin_alpha_extwh (long, long) 74 long __builtin_alpha_extlh (long, long) 75 long __builtin_alpha_extqh (long, long) 76 long __builtin_alpha_insbl (long, long) 77 long __builtin_alpha_inswl (long, long) 78 long __builtin_alpha_insll (long, long) 79 long __builtin_alpha_insql (long, long) 80 long __builtin_alpha_inswh (long, long) 81 long __builtin_alpha_inslh (long, long) 82 long __builtin_alpha_insqh (long, long) 83 long __builtin_alpha_mskbl (long, long) 84 long __builtin_alpha_mskwl (long, long) 85 long __builtin_alpha_mskll (long, long) 86 long __builtin_alpha_mskql (long, long) 87 long __builtin_alpha_mskwh (long, long) 88 long __builtin_alpha_msklh (long, long) 89 long __builtin_alpha_mskqh (long, long) 90 long __builtin_alpha_umulh (long, long) 91 long __builtin_alpha_zap (long, long) 92 long __builtin_alpha_zapnot (long, long) 93</pre> 94 <p>The following built-in functions are always with <samp><span class="option">-mmax</span></samp> 95or <samp><span class="option">-mcpu=</span><var>cpu</var></samp> where <var>cpu</var> is <code>pca56</code> or 96later. They all generate the machine instruction that is part 97of the name. 98 99<pre class="smallexample"> long __builtin_alpha_pklb (long) 100 long __builtin_alpha_pkwb (long) 101 long __builtin_alpha_unpkbl (long) 102 long __builtin_alpha_unpkbw (long) 103 long __builtin_alpha_minub8 (long, long) 104 long __builtin_alpha_minsb8 (long, long) 105 long __builtin_alpha_minuw4 (long, long) 106 long __builtin_alpha_minsw4 (long, long) 107 long __builtin_alpha_maxub8 (long, long) 108 long __builtin_alpha_maxsb8 (long, long) 109 long __builtin_alpha_maxuw4 (long, long) 110 long __builtin_alpha_maxsw4 (long, long) 111 long __builtin_alpha_perr (long, long) 112</pre> 113 <p>The following built-in functions are always with <samp><span class="option">-mcix</span></samp> 114or <samp><span class="option">-mcpu=</span><var>cpu</var></samp> where <var>cpu</var> is <code>ev67</code> or 115later. They all generate the machine instruction that is part 116of the name. 117 118<pre class="smallexample"> long __builtin_alpha_cttz (long) 119 long __builtin_alpha_ctlz (long) 120 long __builtin_alpha_ctpop (long) 121</pre> 122 <p>The following builtins are available on systems that use the OSF/1 123PALcode. Normally they invoke the <code>rduniq</code> and <code>wruniq</code> 124PAL calls, but when invoked with <samp><span class="option">-mtls-kernel</span></samp>, they invoke 125<code>rdval</code> and <code>wrval</code>. 126 127<pre class="smallexample"> void *__builtin_thread_pointer (void) 128 void __builtin_set_thread_pointer (void *) 129</pre> 130 </body></html> 131 132