1 # CPU, FPU and architecture specifications for ARM.
3 # Copyright (C) 2011-2018 Free Software Foundation, Inc.
5 # This file is part of GCC.
7 # GCC is free software; you can redistribute it and/or modify it under
8 # the terms of the GNU General Public License as published by the Free
9 # Software Foundation; either version 3, or (at your option) any later
12 # GCC is distributed in the hope that it will be useful, but WITHOUT ANY
13 # WARRANTY; without even the implied warranty of MERCHANTABILITY or
14 # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
17 # You should have received a copy of the GNU General Public License
18 # along with GCC; see the file COPYING3. If not see
19 # <http://www.gnu.org/licenses/>.
21 # This file describes all the various CPUs, FPUs and architectures supported
22 # by the compiler. It is pre-processed by parsecpu.awk for a number of
25 # The general form is a sequence of begin..end blocks with the following
27 # begin <object-type> <name>
28 # attribute-statement*
29 # end <object-type> <name>
31 # where object type is one of "cpu" "arch" "fpu". Each object type has
32 # a specific set of permitted attributes, some of which are optional; further
33 # details can be found below.
35 # Some objects cross-reference other objects by name. Objects are permitted
36 # in any order and it is not necessary to place a cross-referenced object
37 # earlier in the file.
39 # The object names for cpu, arch and fpu objects are used for the public option
40 # names in the final compiler. The order within each group is preserved and
41 # forms the order for the list within the compiler.
43 # Most objects in this file support forward references. The major
44 # exception is feature groups, which may only refer to previously
45 # defined features or feature groups. This is done to avoid the risk
46 # of feature groups recursively referencing each other and causing
49 # Features - general convention: all lower case.
57 # Architecture rel 5t.
60 # Architecture rel 5te.
61 define feature armv5te
69 # Architecture rel 6k.
75 # Instructions not present in 'M' profile.
78 # Architecture uses be8 mode in big-endian.
81 # Thumb division instructions.
84 # Architecture rel 7e-m.
85 define feature armv7em
90 # ARM division instructions.
96 # ARMv8 CRC32 instructions.
99 # XScale v2 (Wireless MMX).
100 define feature iwmmxt
102 # XScale Wireless MMX2.
103 define feature iwmmxt2
105 # Architecture rel 8.1.
106 define feature armv8_1
108 # Architecture rel 8.2.
109 define feature armv8_2
111 # Architecture rel 8.3.
112 define feature armv8_3
114 # Architecture rel 8.4.
115 define feature armv8_4
117 # M-Profile security extensions.
120 # Floating point and Neon extensions.
121 # VFPv1 is not supported in GCC.
123 # Vector floating point v2.
126 # Vector floating point v3.
129 # Vector floating point v4.
138 # Advanced SIMD instructions.
141 # Conversions to/from fp16 (VFPv3 extension).
142 define feature fp16conv
144 # Double precision operations supported.
145 define feature fp_dbl
147 # 32 Double precision registers.
148 define feature fp_d32
150 # Crypto extension to ARMv8.
151 define feature crypto
153 # FP16 data processing (half-precision float).
156 # Dot Product instructions extension to ARMv8.2-a.
157 define feature dotprod
159 # Half-precision floating-point instructions in ARMv8.4-A.
160 define feature fp16fml
162 # ISA Quirks (errata?). Don't forget to add this to the fgroup
165 # No volatile memory in IT blocks.
166 define feature quirk_no_volatile_ce
168 # Previously mis-identified by GCC.
169 define feature quirk_armv6kz
171 # Cortex-M3 LDRD quirk.
172 define feature quirk_cm3_ldrd
174 # (Very) slow multiply operations. Should probably be a tuning bit.
175 define feature smallmul
177 # Feature groups. Conventionally all (or mostly) upper case.
178 # ALL_FPU lists all the feature bits associated with the floating-point
179 # unit; these will all be removed if the floating-point unit is disabled
180 # (eg -mfloat-abi=soft). ALL_FPU_INTERNAL must ONLY contain features that
181 # form part of a named -mfpu option; it is used to map the capabilities
182 # back to a named FPU for the benefit of the assembler.
184 # ALL_SIMD_INTERNAL and ALL_SIMD are similarly defined to help with the
185 # construction of ALL_FPU and ALL_FPU_INTERNAL; they describe the SIMD
186 # extensions that are either part of a named FPU or optional extensions
190 # List of all cryptographic extensions to stripout if crypto is
191 # disabled. Currently, that's trivial, but we define it anyway for
192 # consistency with the SIMD and FP disable lists.
193 define fgroup ALL_CRYPTO crypto
195 # List of all SIMD bits to strip out if SIMD is disabled. This does
196 # strip off 32 D-registers, but does not remove support for
197 # double-precision FP.
198 define fgroup ALL_SIMD_INTERNAL fp_d32 neon ALL_CRYPTO
199 define fgroup ALL_SIMD ALL_SIMD_INTERNAL dotprod fp16fml
201 # List of all FPU bits to strip out if -mfpu is used to override the
202 # default. fp16 is deliberately missing from this list.
203 define fgroup ALL_FPU_INTERNAL vfpv2 vfpv3 vfpv4 fpv5 fp16conv fp_dbl ALL_SIMD_INTERNAL
205 # Similarly, but including fp16 and other extensions that aren't part of
207 define fgroup ALL_FP fp16 ALL_FPU_INTERNAL
209 define fgroup ARMv4 armv4 notm
210 define fgroup ARMv4t ARMv4 thumb
211 define fgroup ARMv5t ARMv4t armv5t
212 define fgroup ARMv5te ARMv5t armv5te
213 define fgroup ARMv5tej ARMv5te
214 define fgroup ARMv6 ARMv5te armv6 be8
215 define fgroup ARMv6j ARMv6
216 define fgroup ARMv6k ARMv6 armv6k
217 define fgroup ARMv6z ARMv6
218 define fgroup ARMv6kz ARMv6k quirk_armv6kz
219 define fgroup ARMv6zk ARMv6k
220 define fgroup ARMv6t2 ARMv6 thumb2
221 # This is suspect. ARMv6-m doesn't really pull in any useful features
222 # from ARMv5* or ARMv6.
223 define fgroup ARMv6m armv4 thumb armv5t armv5te armv6 be8
224 # This is suspect, the 'common' ARMv7 subset excludes the thumb2 'DSP' and
225 # integer SIMD instructions that are in ARMv6T2. */
226 define fgroup ARMv7 ARMv6m thumb2 armv7
228 define fgroup ARMv7a ARMv7 notm armv6k
229 define fgroup ARMv7ve ARMv7a adiv tdiv lpae
230 define fgroup ARMv7r ARMv7a tdiv
231 define fgroup ARMv7m ARMv7 tdiv
232 define fgroup ARMv7em ARMv7m armv7em
233 define fgroup ARMv8a ARMv7ve armv8
234 define fgroup ARMv8_1a ARMv8a crc32 armv8_1
235 define fgroup ARMv8_2a ARMv8_1a armv8_2
236 define fgroup ARMv8_3a ARMv8_2a armv8_3
237 define fgroup ARMv8_4a ARMv8_3a armv8_4
238 define fgroup ARMv8m_base ARMv6m armv8 cmse tdiv
239 define fgroup ARMv8m_main ARMv7m armv8 cmse
240 define fgroup ARMv8r ARMv8a
242 # Useful combinations.
243 define fgroup VFPv2 vfpv2
244 define fgroup VFPv3 VFPv2 vfpv3
245 define fgroup VFPv4 VFPv3 vfpv4 fp16conv
246 define fgroup FPv5 VFPv4 fpv5
248 define fgroup FP_DBL fp_dbl
249 define fgroup FP_D32 FP_DBL fp_d32
250 define fgroup FP_ARMv8 FPv5 FP_D32
251 define fgroup NEON FP_D32 neon
252 define fgroup CRYPTO NEON crypto
253 define fgroup DOTPROD NEON dotprod
255 # List of all quirk bits to strip out when comparing CPU features with
257 # xscale isn't really a 'quirk', but it isn't an architecture either and we
258 # need to ignore it for matching purposes.
259 define fgroup ALL_QUIRKS quirk_no_volatile_ce quirk_armv6kz quirk_cm3_ldrd xscale
261 # Architecture entries
265 # [tune flags <list>]
268 # isa <isa-flags-list>
298 option fp add VFPv2 FP_DBL
300 option nofp remove ALL_FP
308 option fp add VFPv2 FP_DBL
310 option nofp remove ALL_FP
318 option fp add VFPv2 FP_DBL
320 option nofp remove ALL_FP
328 option fp add VFPv2 FP_DBL
330 option nofp remove ALL_FP
338 option fp add VFPv2 FP_DBL
340 option nofp remove ALL_FP
348 option fp add VFPv2 FP_DBL
350 option nofp remove ALL_FP
358 option fp add VFPv2 FP_DBL
360 option nofp remove ALL_FP
368 option fp add VFPv2 FP_DBL
370 option nofp remove ALL_FP
378 option fp add VFPv2 FP_DBL
380 option nofp remove ALL_FP
390 # This is now equivalent to armv6-m, but we keep it because some
391 # versions of GAS still distinguish between the two.
404 # fp => VFPv3-d16 (only useful for the A+R profile subset).
405 option fp add VFPv3 FP_DBL
406 optalias vfpv3-d16 fp
407 option nofp remove ALL_FP
416 # fp => VFPv3-d16, simd => neon-vfpv3
417 option fp add VFPv3 FP_DBL
418 optalias vfpv3-d16 fp
419 option vfpv3 add VFPv3 FP_D32
420 option vfpv3-d16-fp16 add VFPv3 FP_DBL fp16conv
421 option vfpv3-fp16 add VFPv3 FP_DBL FP_D32 fp16conv
422 option vfpv4-d16 add VFPv4 FP_DBL
423 option vfpv4 add VFPv4 FP_D32
424 option simd add VFPv3 NEON
426 optalias neon-vfpv3 simd
427 option neon-fp16 add VFPv3 NEON fp16conv
428 option neon-vfpv4 add VFPv4 NEON
429 option nosimd remove ALL_SIMD
430 option nofp remove ALL_FP
439 # fp => VFPv4-d16, simd => neon-vfpv4
440 option vfpv3-d16 add VFPv3 FP_DBL
441 option vfpv3 add VFPv3 FP_D32
442 option vfpv3-d16-fp16 add VFPv3 FP_DBL fp16conv
443 option vfpv3-fp16 add VFPv3 FP_DBL FP_D32 fp16conv
444 option fp add VFPv4 FP_DBL
445 optalias vfpv4-d16 fp
446 option vfpv4 add VFPv4 FP_D32
447 option neon add VFPv3 NEON
448 optalias neon-vfpv3 neon
449 option neon-fp16 add VFPv3 NEON fp16conv
450 option simd add VFPv4 NEON
451 optalias neon-vfpv4 simd
452 option nosimd remove ALL_SIMD
453 option nofp remove ALL_FP
462 # ARMv7-r uses VFPv3-d16
463 option fp.sp add VFPv3
464 optalias vfpv3xd fp.sp
465 option fp add VFPv3 FP_DBL
466 optalias vfpv3-d16 fp
468 option nofp remove ALL_FP
469 option noidiv remove adiv
478 # In theory FP is permitted in v7-m, but in practice no implementations exist.
479 # leave it out for now.
488 # fp => VFPv4-sp-d16; fpv5 => FPv5-sp-d16; fp.dp => FPv5-d16
490 optalias vfpv4-sp-d16 fp
492 option fp.dp add FPv5 FP_DBL
493 optalias fpv5-d16 fp.dp
494 option nofp remove ALL_FP
504 option simd add FP_ARMv8 NEON
505 option crypto add FP_ARMv8 CRYPTO
506 option nocrypto remove ALL_CRYPTO
507 option nofp remove ALL_FP
516 option simd add FP_ARMv8 NEON
517 option crypto add FP_ARMv8 CRYPTO
518 option nocrypto remove ALL_CRYPTO
519 option nofp remove ALL_FP
528 option simd add FP_ARMv8 NEON
529 option fp16 add fp16 FP_ARMv8 NEON
530 option fp16fml add fp16fml fp16 FP_ARMv8 NEON
531 option crypto add FP_ARMv8 CRYPTO
532 option nocrypto remove ALL_CRYPTO
533 option nofp remove ALL_FP
534 option dotprod add FP_ARMv8 DOTPROD
543 option simd add FP_ARMv8 NEON
544 option fp16 add fp16 FP_ARMv8 NEON
545 option fp16fml add fp16fml fp16 FP_ARMv8 NEON
546 option crypto add FP_ARMv8 CRYPTO
547 option nocrypto remove ALL_CRYPTO
548 option nofp remove ALL_FP
549 option dotprod add FP_ARMv8 DOTPROD
558 option simd add FP_ARMv8 DOTPROD
559 option fp16 add fp16 fp16fml FP_ARMv8 DOTPROD
560 option crypto add FP_ARMv8 CRYPTO DOTPROD
561 option nocrypto remove ALL_CRYPTO
562 option nofp remove ALL_FP
565 begin arch armv8-m.base
570 end arch armv8-m.base
572 begin arch armv8-m.main
578 option dsp add armv7em
579 # fp => FPv5-sp-d16; fp.dp => FPv5-d16
581 option fp.dp add FPv5 FP_DBL
582 option nofp remove ALL_FP
583 option nodsp remove armv7em
584 end arch armv8-m.main
593 # fp.sp => fp-armv8 (d16); simd => simd + fp-armv8 + d32 + double precision
594 # note: no fp option for fp-armv8 (d16) + double precision at the moment
595 option fp.sp add FPv5
596 option simd add FP_ARMv8 NEON
597 option crypto add FP_ARMv8 CRYPTO
598 option nocrypto remove ALL_CRYPTO
599 option nofp remove ALL_FP
604 tune flags LDSCHED STRONG XSCALE
606 isa ARMv5te xscale iwmmxt
611 tune flags LDSCHED STRONG XSCALE
613 isa ARMv5te xscale iwmmxt iwmmxt2
619 # [cname <c-compatible-name>]
620 # [tune for <cpu-name>]
621 # [tune flags <list>]
622 # architecture <name>
623 # [isa <additional-isa-flags-list>]
624 # [option <name> add|remove <isa-list>]*
625 # [optalias <name> <optname>]*
629 # If omitted, cname is formed from transforming the cpuname to convert
630 # non-valid punctuation characters to '_'.
631 # If specified, tune for specifies a CPU target to use for tuning this core.
632 # isa flags are appended to those defined by the architecture.
633 # Each add option must have a distinct feature set and each remove
634 # option must similarly have a distinct feature set. Option aliases can be
635 # added with the optalias statement.
637 # V4 Architecture Processors
651 tune flags LDSCHED STRONG
656 begin cpu strongarm110
657 tune flags LDSCHED STRONG
662 begin cpu strongarm1100
663 tune flags LDSCHED STRONG
666 end cpu strongarm1100
668 begin cpu strongarm1110
669 tune flags LDSCHED STRONG
672 end cpu strongarm1110
687 # V4T Architecture Processors
762 # V5T Architecture Processors
763 # These used VFPv1 which isn't supported by GCC
777 # V5TE Architecture Processors
780 architecture armv5te+fp
781 option nofp remove ALL_FP
788 architecture armv5te+fp
789 option nofp remove ALL_FP
796 architecture armv5te+fp
797 option nofp remove ALL_FP
804 architecture armv5te+fp
805 option nofp remove ALL_FP
811 architecture armv5te+fp
812 option nofp remove ALL_FP
818 architecture armv5te+fp
819 option nofp remove ALL_FP
825 architecture armv5te+fp
826 option nofp remove ALL_FP
831 tune flags LDSCHED XSCALE
838 tune flags LDSCHED XSCALE
844 tune flags LDSCHED XSCALE
874 # V5TEJ Architecture Processors
878 architecture armv5tej+fp
879 option nofp remove ALL_FP
883 begin cpu arm1026ej-s
886 architecture armv5tej+fp
887 option nofp remove ALL_FP
892 # V6 Architecture Processors
900 begin cpu arm1136jf-s
903 architecture armv6j+fp
907 begin cpu arm1176jz-s
914 begin cpu arm1176jzf-s
917 architecture armv6kz+fp
921 begin cpu mpcorenovfp
929 architecture armv6k+fp
933 begin cpu arm1156t2-s
940 begin cpu arm1156t2f-s
943 architecture armv6t2+fp
948 # V6M Architecture Processors
952 architecture armv6s-m
959 architecture armv6s-m
963 begin cpu cortex-m0plus
966 architecture armv6s-m
968 end cpu cortex-m0plus
971 # V6M Architecture Processors for small-multiply implementations.
972 begin cpu cortex-m1.small-multiply
973 cname cortexm1smallmultiply
975 tune flags LDSCHED SMALLMUL
976 architecture armv6s-m
978 end cpu cortex-m1.small-multiply
980 begin cpu cortex-m0.small-multiply
981 cname cortexm0smallmultiply
983 tune flags LDSCHED SMALLMUL
984 architecture armv6s-m
986 end cpu cortex-m0.small-multiply
988 begin cpu cortex-m0plus.small-multiply
989 cname cortexm0plussmallmultiply
990 tune for cortex-m0plus
991 tune flags LDSCHED SMALLMUL
992 architecture armv6s-m
994 end cpu cortex-m0plus.small-multiply
997 # V7 Architecture Processors
998 begin cpu generic-armv7-a
1001 architecture armv7-a+fp
1002 option vfpv3-d16 add VFPv3 FP_DBL
1003 option vfpv3 add VFPv3 FP_D32
1004 option vfpv3-d16-fp16 add VFPv3 FP_DBL fp16conv
1005 option vfpv3-fp16 add VFPv3 FP_D32 fp16conv
1006 option vfpv4-d16 add VFPv4 FP_DBL
1007 option vfpv4 add VFPv4 FP_D32
1008 option simd add VFPv3 NEON
1010 optalias neon-vfpv3 simd
1011 option neon-fp16 add VFPv3 NEON fp16conv
1012 option neon-vfpv4 add VFPv4 NEON
1013 option nosimd remove ALL_SIMD
1014 option nofp remove ALL_FP
1016 end cpu generic-armv7-a
1021 architecture armv7-a+neon-fp16
1022 option nosimd remove ALL_SIMD
1023 option nofp remove ALL_FP
1030 architecture armv7ve+simd
1031 option nosimd remove ALL_SIMD
1032 option nofp remove ALL_FP
1039 architecture armv7-a+simd
1040 option nofp remove ALL_FP
1047 architecture armv7-a+neon-fp16
1048 option nosimd remove ALL_SIMD
1049 option nofp remove ALL_FP
1053 begin cpu cortex-a12
1057 architecture armv7ve+simd
1058 option nofp remove ALL_FP
1062 begin cpu cortex-a15
1065 architecture armv7ve+simd
1066 option nofp remove ALL_FP
1070 begin cpu cortex-a17
1073 architecture armv7ve+simd
1074 option nofp remove ALL_FP
1081 architecture armv7-r
1085 begin cpu cortex-r4f
1088 architecture armv7-r+fp
1095 architecture armv7-r+idiv+fp
1096 option nofp.dp remove FP_DBL
1097 option nofp remove ALL_FP
1104 architecture armv7-r+idiv+fp
1105 option nofp remove ALL_FP
1113 architecture armv7-r+idiv+fp
1114 option nofp remove ALL_FP
1121 architecture armv7e-m+fp.dp
1122 isa quirk_no_volatile_ce
1123 option nofp.dp remove FP_DBL
1124 option nofp remove ALL_FP
1131 architecture armv7e-m+fp
1132 option nofp remove ALL_FP
1139 architecture armv7-m
1144 begin cpu marvell-pj4
1146 architecture armv7-a
1151 # V7 big.LITTLE implementations
1152 begin cpu cortex-a15.cortex-a7
1153 cname cortexa15cortexa7
1156 architecture armv7ve+simd
1157 option nofp remove ALL_FP
1159 end cpu cortex-a15.cortex-a7
1161 begin cpu cortex-a17.cortex-a7
1162 cname cortexa17cortexa7
1165 architecture armv7ve+simd
1166 option nofp remove ALL_FP
1168 end cpu cortex-a17.cortex-a7
1171 # V8 A-profile Architecture Processors
1172 begin cpu cortex-a32
1176 architecture armv8-a+crc+simd
1177 option crypto add FP_ARMv8 CRYPTO
1178 option nofp remove ALL_FP
1182 begin cpu cortex-a35
1186 architecture armv8-a+crc+simd
1187 option crypto add FP_ARMv8 CRYPTO
1188 option nofp remove ALL_FP
1192 begin cpu cortex-a53
1195 architecture armv8-a+crc+simd
1196 option crypto add FP_ARMv8 CRYPTO
1197 option nofp remove ALL_FP
1201 begin cpu cortex-a57
1204 architecture armv8-a+crc+simd
1205 option crypto add FP_ARMv8 CRYPTO
1209 begin cpu cortex-a72
1213 architecture armv8-a+crc+simd
1214 option crypto add FP_ARMv8 CRYPTO
1218 begin cpu cortex-a73
1222 architecture armv8-a+crc+simd
1223 option crypto add FP_ARMv8 CRYPTO
1230 architecture armv8-a+crc+simd
1231 option crypto add FP_ARMv8 CRYPTO
1237 architecture armv8-a+simd
1238 option crypto add FP_ARMv8 CRYPTO
1242 # V8 A-profile big.LITTLE implementations
1243 begin cpu cortex-a57.cortex-a53
1244 cname cortexa57cortexa53
1247 architecture armv8-a+crc+simd
1248 option crypto add FP_ARMv8 CRYPTO
1250 end cpu cortex-a57.cortex-a53
1252 begin cpu cortex-a72.cortex-a53
1253 cname cortexa72cortexa53
1256 architecture armv8-a+crc+simd
1257 option crypto add FP_ARMv8 CRYPTO
1259 end cpu cortex-a72.cortex-a53
1261 begin cpu cortex-a73.cortex-a35
1262 cname cortexa73cortexa35
1265 architecture armv8-a+crc+simd
1266 option crypto add FP_ARMv8 CRYPTO
1268 end cpu cortex-a73.cortex-a35
1270 begin cpu cortex-a73.cortex-a53
1271 cname cortexa73cortexa53
1274 architecture armv8-a+crc+simd
1275 option crypto add FP_ARMv8 CRYPTO
1277 end cpu cortex-a73.cortex-a53
1280 # ARMv8.2 A-profile Architecture Processors
1281 begin cpu cortex-a55
1285 architecture armv8.2-a+fp16+dotprod+simd
1286 option crypto add FP_ARMv8 CRYPTO
1287 option nofp remove ALL_FP
1291 begin cpu cortex-a75
1295 architecture armv8.2-a+fp16+dotprod+simd
1296 option crypto add FP_ARMv8 CRYPTO
1300 begin cpu cortex-a76
1304 architecture armv8.2-a+fp16+dotprod+simd
1305 option crypto add FP_ARMv8 CRYPTO
1309 # ARMv8.2 A-profile ARM DynamIQ big.LITTLE implementations
1310 begin cpu cortex-a75.cortex-a55
1311 cname cortexa75cortexa55
1314 architecture armv8.2-a+fp16+dotprod+simd
1315 option crypto add FP_ARMv8 CRYPTO
1317 end cpu cortex-a75.cortex-a55
1319 begin cpu cortex-a76.cortex-a55
1320 cname cortexa76cortexa55
1323 architecture armv8.2-a+fp16+dotprod+simd
1324 option crypto add FP_ARMv8 CRYPTO
1326 end cpu cortex-a76.cortex-a55
1328 # V8 M-profile implementations.
1329 begin cpu cortex-m23
1332 architecture armv8-m.base
1336 begin cpu cortex-m33
1339 architecture armv8-m.main+dsp+fp
1340 option nofp remove ALL_FP
1341 option nodsp remove armv7em
1345 # V8 R-profile implementations.
1346 begin cpu cortex-r52
1349 architecture armv8-r+crc+simd
1350 option nofp.dp remove FP_DBL ALL_SIMD
1357 # isa <isa-flags-list>
1372 begin fpu vfpv3-fp16
1373 isa VFPv3 FP_D32 fp16conv
1380 begin fpu vfpv3-d16-fp16
1381 isa VFPv3 FP_DBL fp16conv
1382 end fpu vfpv3-d16-fp16
1388 begin fpu vfpv3xd-fp16
1390 end fpu vfpv3xd-fp16
1396 begin fpu neon-vfpv3
1401 isa VFPv3 NEON fp16conv
1408 begin fpu neon-vfpv4
1416 begin fpu fpv4-sp-d16
1420 begin fpu fpv5-sp-d16
1432 begin fpu neon-fp-armv8
1434 end fpu neon-fp-armv8
1436 begin fpu crypto-neon-fp-armv8
1438 end fpu crypto-neon-fp-armv8
1440 # Compatibility aliases.