comparison gcc/config/aarch64/aarch64-c.c @ 131:84e7813d76e9

gcc-8.2
author mir3636
date Thu, 25 Oct 2018 07:37:49 +0900
parents 04ced10e8804
children 1830386684a0
comparison
equal deleted inserted replaced
111:04ced10e8804 131:84e7813d76e9
1 /* Target-specific code for C family languages. 1 /* Target-specific code for C family languages.
2 Copyright (C) 2015-2017 Free Software Foundation, Inc. 2 Copyright (C) 2015-2018 Free Software Foundation, Inc.
3 3
4 This file is part of GCC. 4 This file is part of GCC.
5 5
6 GCC is free software; you can redistribute it and/or modify 6 GCC is free software; you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by 7 it under the terms of the GNU General Public License as published by
14 GNU General Public License for more details. 14 GNU General Public License for more details.
15 15
16 You should have received a copy of the GNU General Public License 16 You should have received a copy of the GNU General Public License
17 along with GCC; see the file COPYING3. If not see 17 along with GCC; see the file COPYING3. If not see
18 <http://www.gnu.org/licenses/>. */ 18 <http://www.gnu.org/licenses/>. */
19
20 #define IN_TARGET_CODE 1
19 21
20 #include "config.h" 22 #include "config.h"
21 #include "system.h" 23 #include "system.h"
22 #include "coretypes.h" 24 #include "coretypes.h"
23 #include "tm.h" 25 #include "tm.h"
132 aarch64_def_or_undef (TARGET_ILP32, "_ILP32", pfile); 134 aarch64_def_or_undef (TARGET_ILP32, "_ILP32", pfile);
133 aarch64_def_or_undef (TARGET_ILP32, "__ILP32__", pfile); 135 aarch64_def_or_undef (TARGET_ILP32, "__ILP32__", pfile);
134 136
135 aarch64_def_or_undef (TARGET_CRYPTO, "__ARM_FEATURE_CRYPTO", pfile); 137 aarch64_def_or_undef (TARGET_CRYPTO, "__ARM_FEATURE_CRYPTO", pfile);
136 aarch64_def_or_undef (TARGET_SIMD_RDMA, "__ARM_FEATURE_QRDMX", pfile); 138 aarch64_def_or_undef (TARGET_SIMD_RDMA, "__ARM_FEATURE_QRDMX", pfile);
139 aarch64_def_or_undef (TARGET_SVE, "__ARM_FEATURE_SVE", pfile);
140 cpp_undef (pfile, "__ARM_FEATURE_SVE_BITS");
141 if (TARGET_SVE)
142 {
143 int bits;
144 if (!BITS_PER_SVE_VECTOR.is_constant (&bits))
145 bits = 0;
146 builtin_define_with_int_value ("__ARM_FEATURE_SVE_BITS", bits);
147 }
148
149 aarch64_def_or_undef (TARGET_AES, "__ARM_FEATURE_AES", pfile);
150 aarch64_def_or_undef (TARGET_SHA2, "__ARM_FEATURE_SHA2", pfile);
151 aarch64_def_or_undef (TARGET_SHA3, "__ARM_FEATURE_SHA3", pfile);
152 aarch64_def_or_undef (TARGET_SHA3, "__ARM_FEATURE_SHA512", pfile);
153 aarch64_def_or_undef (TARGET_SM4, "__ARM_FEATURE_SM3", pfile);
154 aarch64_def_or_undef (TARGET_SM4, "__ARM_FEATURE_SM4", pfile);
155 aarch64_def_or_undef (TARGET_F16FML, "__ARM_FEATURE_FP16_FML", pfile);
137 156
138 /* Not for ACLE, but required to keep "float.h" correct if we switch 157 /* Not for ACLE, but required to keep "float.h" correct if we switch
139 target between implementations that do or do not support ARMv8.2-A 158 target between implementations that do or do not support ARMv8.2-A
140 16-bit floating-point extensions. */ 159 16-bit floating-point extensions. */
141 cpp_undef (pfile, "__FLT_EVAL_METHOD__"); 160 cpp_undef (pfile, "__FLT_EVAL_METHOD__");
164 { 183 {
165 /* If args is not NULL then process it and setup the target-specific 184 /* If args is not NULL then process it and setup the target-specific
166 information that it specifies. */ 185 information that it specifies. */
167 if (args) 186 if (args)
168 { 187 {
169 if (!aarch64_process_target_attr (args, "pragma")) 188 if (!aarch64_process_target_attr (args))
170 return false; 189 return false;
171 190
172 aarch64_override_options_internal (&global_options); 191 aarch64_override_options_internal (&global_options);
173 } 192 }
174 193