~ubuntu-branches/ubuntu/utopic/gcc-4.9/utopic-proposed

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