50
by Matthias Klose
* Merge with Debian; remaining changes: |
1 |
# DP: Changes for the Linaro 4.9-2014.09 release (documentation). |
2
by Matthias Klose
Package GCC 4.9 snapshot. |
2 |
|
10.1.15
by Matthias Klose
* Update to SVN 20140724 (r213031) from the gcc-4_9-branch. |
3 |
--- a/src/gcc/doc/extend.texi
|
4 |
+++ b/src/gcc/doc/extend.texi
|
|
5 |
@@ -9109,6 +9109,8 @@
|
|
6 |
instructions, but allow the compiler to schedule those calls. |
|
7 |
||
8 |
@menu |
|
9 |
+* AArch64 Built-in Functions::
|
|
10 |
+* AArch64 intrinsics::
|
|
11 |
* Alpha Built-in Functions:: |
|
12 |
* Altera Nios II Built-in Functions:: |
|
13 |
* ARC Built-in Functions:: |
|
14 |
@@ -9116,6 +9118,7 @@
|
|
15 |
* ARM iWMMXt Built-in Functions:: |
|
16 |
* ARM NEON Intrinsics:: |
|
17 |
* ARM ACLE Intrinsics:: |
|
18 |
+* ARM Floating Point Status and Control Intrinsics::
|
|
19 |
* AVR Built-in Functions:: |
|
20 |
* Blackfin Built-in Functions:: |
|
21 |
* FR-V Built-in Functions:: |
|
22 |
@@ -9141,6 +9144,23 @@
|
|
23 |
* TILEPro Built-in Functions:: |
|
24 |
@end menu |
|
25 |
||
26 |
+@node AArch64 Built-in Functions
|
|
27 |
+@subsection AArch64 Built-in Functions
|
|
28 |
+
|
|
29 |
+These built-in functions are available for the AArch64 family of
|
|
30 |
+processors.
|
|
31 |
+@smallexample
|
|
32 |
+unsigned int __builtin_aarch64_get_fpcr ()
|
|
33 |
+void __builtin_aarch64_set_fpcr (unsigned int)
|
|
34 |
+unsigned int __builtin_aarch64_get_fpsr ()
|
|
35 |
+void __builtin_aarch64_set_fpsr (unsigned int)
|
|
36 |
+@end smallexample
|
|
37 |
+
|
|
38 |
+@node AArch64 intrinsics
|
|
39 |
+@subsection ACLE Intrinsics for AArch64
|
|
40 |
+
|
|
41 |
+@include aarch64-acle-intrinsics.texi
|
|
42 |
+
|
|
43 |
@node Alpha Built-in Functions |
|
44 |
@subsection Alpha Built-in Functions |
|
45 |
||
46 |
@@ -9917,6 +9937,17 @@
|
|
47 |
||
48 |
@include arm-acle-intrinsics.texi |
|
49 |
||
50 |
+@node ARM Floating Point Status and Control Intrinsics
|
|
51 |
+@subsection ARM Floating Point Status and Control Intrinsics
|
|
52 |
+
|
|
53 |
+These built-in functions are available for the ARM family of
|
|
54 |
+processors with floating-point unit.
|
|
55 |
+
|
|
56 |
+@smallexample
|
|
57 |
+unsigned int __builtin_arm_get_fpscr ()
|
|
58 |
+void __builtin_arm_set_fpscr (unsigned int)
|
|
59 |
+@end smallexample
|
|
60 |
+
|
|
61 |
@node AVR Built-in Functions |
|
62 |
@subsection AVR Built-in Functions |
|
63 |
||
64 |
--- a/src/gcc/doc/aarch64-acle-intrinsics.texi
|
|
65 |
+++ b/src/gcc/doc/aarch64-acle-intrinsics.texi
|
|
66 |
@@ -0,0 +1,55 @@
|
|
67 |
+@c Copyright (C) 2014 Free Software Foundation, Inc.
|
|
68 |
+@c This is part of the GCC manual.
|
|
69 |
+@c For copying conditions, see the file gcc.texi.
|
|
70 |
+
|
|
71 |
+@subsubsection CRC32 intrinsics
|
|
72 |
+
|
|
73 |
+These intrinsics are available when the CRC32 architecture extension is
|
|
74 |
+specified, e.g. when the @option{-march=armv8-a+crc} switch is used, or when
|
|
75 |
+the target processor specified with @option{-mcpu} supports it.
|
|
76 |
+
|
|
77 |
+@itemize @bullet
|
|
78 |
+@item uint32_t __crc32b (uint32_t, uint8_t)
|
|
79 |
+@*@emph{Form of expected instruction(s):} @code{crc32b @var{w0}, @var{w1}, @var{w2}}
|
|
80 |
+@end itemize
|
|
81 |
+
|
|
82 |
+
|
|
83 |
+@itemize @bullet
|
|
84 |
+@item uint32_t __crc32h (uint32_t, uint16_t)
|
|
85 |
+@*@emph{Form of expected instruction(s):} @code{crc32h @var{w0}, @var{w1}, @var{w2}}
|
|
86 |
+@end itemize
|
|
87 |
+
|
|
88 |
+
|
|
89 |
+@itemize @bullet
|
|
90 |
+@item uint32_t __crc32w (uint32_t, uint32_t)
|
|
91 |
+@*@emph{Form of expected instruction(s):} @code{crc32w @var{w0}, @var{w1}, @var{w2}}
|
|
92 |
+@end itemize
|
|
93 |
+
|
|
94 |
+
|
|
95 |
+@itemize @bullet
|
|
96 |
+@item uint32_t __crc32d (uint32_t, uint64_t)
|
|
97 |
+@*@emph{Form of expected instruction(s):} @code{crc32x @var{w0}, @var{w1}, @var{x2}}
|
|
98 |
+@end itemize
|
|
99 |
+
|
|
100 |
+@itemize @bullet
|
|
101 |
+@item uint32_t __crc32cb (uint32_t, uint8_t)
|
|
102 |
+@*@emph{Form of expected instruction(s):} @code{crc32cb @var{w0}, @var{w1}, @var{w2}}
|
|
103 |
+@end itemize
|
|
104 |
+
|
|
105 |
+
|
|
106 |
+@itemize @bullet
|
|
107 |
+@item uint32_t __crc32ch (uint32_t, uint16_t)
|
|
108 |
+@*@emph{Form of expected instruction(s):} @code{crc32ch @var{w0}, @var{w1}, @var{w2}}
|
|
109 |
+@end itemize
|
|
110 |
+
|
|
111 |
+
|
|
112 |
+@itemize @bullet
|
|
113 |
+@item uint32_t __crc32cw (uint32_t, uint32_t)
|
|
114 |
+@*@emph{Form of expected instruction(s):} @code{crc32cw @var{w0}, @var{w1}, @var{w2}}
|
|
115 |
+@end itemize
|
|
116 |
+
|
|
117 |
+
|
|
118 |
+@itemize @bullet
|
|
119 |
+@item uint32_t __crc32cd (uint32_t, uint64_t)
|
|
120 |
+@*@emph{Form of expected instruction(s):} @code{crc32cx @var{w0}, @var{w1}, @var{x2}}
|
|
121 |
+@end itemize
|
|
10.1.23
by Matthias Klose
* Update to SVN 20140830 (r214751) from the gcc-4_9-branch. |
122 |
--- a/src/gcc/doc/md.texi
|
123 |
+++ b/src/gcc/doc/md.texi
|
|
50
by Matthias Klose
* Merge with Debian; remaining changes: |
124 |
@@ -5319,10 +5319,18 @@
|
10.1.23
by Matthias Klose
* Update to SVN 20140830 (r214751) from the gcc-4_9-branch. |
125 |
The @code{ffs} built-in function of C always uses the mode which |
126 |
corresponds to the C data type @code{int}. |
|
127 |
||
128 |
+@cindex @code{clrsb@var{m}2} instruction pattern
|
|
129 |
+@item @samp{clrsb@var{m}2}
|
|
130 |
+Count leading redundant sign bits.
|
|
131 |
+Store into operand 0 the number of redundant sign bits in operand 1, starting
|
|
132 |
+at the most significant bit position.
|
|
133 |
+A redundant sign bit is defined as any sign bit after the first. As such,
|
|
134 |
+this count will be one less than the count of leading sign bits.
|
|
135 |
+
|
|
136 |
@cindex @code{clz@var{m}2} instruction pattern |
|
137 |
@item @samp{clz@var{m}2} |
|
138 |
-Store into operand 0 the number of leading 0-bits in @var{x}, starting
|
|
139 |
-at the most significant bit position. If @var{x} is 0, the
|
|
140 |
+Store into operand 0 the number of leading 0-bits in operand 1, starting
|
|
141 |
+at the most significant bit position. If operand 1 is 0, the
|
|
142 |
@code{CLZ_DEFINED_VALUE_AT_ZERO} (@pxref{Misc}) macro defines if |
|
143 |
the result is undefined or has a useful value. |
|
144 |
@var{m} is the mode of operand 0; operand 1's mode is |
|
50
by Matthias Klose
* Merge with Debian; remaining changes: |
145 |
@@ -5331,8 +5339,8 @@
|
10.1.23
by Matthias Klose
* Update to SVN 20140830 (r214751) from the gcc-4_9-branch. |
146 |
|
147 |
@cindex @code{ctz@var{m}2} instruction pattern |
|
148 |
@item @samp{ctz@var{m}2} |
|
149 |
-Store into operand 0 the number of trailing 0-bits in @var{x}, starting
|
|
150 |
-at the least significant bit position. If @var{x} is 0, the
|
|
151 |
+Store into operand 0 the number of trailing 0-bits in operand 1, starting
|
|
152 |
+at the least significant bit position. If operand 1 is 0, the
|
|
153 |
@code{CTZ_DEFINED_VALUE_AT_ZERO} (@pxref{Misc}) macro defines if |
|
154 |
the result is undefined or has a useful value. |
|
155 |
@var{m} is the mode of operand 0; operand 1's mode is |
|
50
by Matthias Klose
* Merge with Debian; remaining changes: |
156 |
@@ -5341,7 +5349,7 @@
|
10.1.23
by Matthias Klose
* Update to SVN 20140830 (r214751) from the gcc-4_9-branch. |
157 |
|
158 |
@cindex @code{popcount@var{m}2} instruction pattern |
|
159 |
@item @samp{popcount@var{m}2} |
|
160 |
-Store into operand 0 the number of 1-bits in @var{x}. @var{m} is the
|
|
161 |
+Store into operand 0 the number of 1-bits in operand 1. @var{m} is the
|
|
162 |
mode of operand 0; operand 1's mode is specified by the instruction |
|
163 |
pattern, and the compiler will convert the operand to that mode before |
|
164 |
generating the instruction. |
|
50
by Matthias Klose
* Merge with Debian; remaining changes: |
165 |
@@ -5348,8 +5356,8 @@
|
10.1.23
by Matthias Klose
* Update to SVN 20140830 (r214751) from the gcc-4_9-branch. |
166 |
|
167 |
@cindex @code{parity@var{m}2} instruction pattern |
|
168 |
@item @samp{parity@var{m}2} |
|
169 |
-Store into operand 0 the parity of @var{x}, i.e.@: the number of 1-bits
|
|
170 |
-in @var{x} modulo 2. @var{m} is the mode of operand 0; operand 1's mode
|
|
171 |
+Store into operand 0 the parity of operand 1, i.e.@: the number of 1-bits
|
|
172 |
+in operand 1 modulo 2. @var{m} is the mode of operand 0; operand 1's mode
|
|
173 |
is specified by the instruction pattern, and the compiler will convert |
|
174 |
the operand to that mode before generating the instruction. |
|
175 |