]>
Commit | Line | Data |
---|---|---|
43e9d192 | 1 | # Machine description for AArch64 architecture. |
83ffe9cd | 2 | # Copyright (C) 2009-2023 Free Software Foundation, Inc. |
43e9d192 IB |
3 | # Contributed by ARM Ltd. |
4 | # | |
5 | # This file is part of GCC. | |
6 | # | |
7 | # GCC is free software; you can redistribute it and/or modify it | |
8 | # under the terms of the GNU General Public License as published by | |
9 | # the Free Software Foundation; either version 3, or (at your option) | |
10 | # any later version. | |
11 | # | |
12 | # GCC is distributed in the hope that it will be useful, but | |
13 | # WITHOUT ANY WARRANTY; without even the implied warranty of | |
14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
15 | # General Public License for more details. | |
16 | # | |
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/>. | |
20 | ||
5b30e9bc JJ |
21 | TM_H += $(srcdir)/config/aarch64/aarch64-fusion-pairs.def \ |
22 | $(srcdir)/config/aarch64/aarch64-tuning-flags.def \ | |
23 | $(srcdir)/config/aarch64/aarch64-option-extensions.def | |
64c057f9 | 24 | OPTIONS_H_EXTRA += $(srcdir)/config/aarch64/aarch64-cores.def \ |
5b30e9bc | 25 | $(srcdir)/config/aarch64/aarch64-arches.def |
9772c47a | 26 | |
03338111 RS |
27 | $(srcdir)/config/aarch64/aarch64-tune.md: s-aarch64-tune-md; @true |
28 | s-aarch64-tune-md: $(srcdir)/config/aarch64/gentune.sh \ | |
43e9d192 IB |
29 | $(srcdir)/config/aarch64/aarch64-cores.def |
30 | $(SHELL) $(srcdir)/config/aarch64/gentune.sh \ | |
31 | $(srcdir)/config/aarch64/aarch64-cores.def > \ | |
03338111 | 32 | tmp-aarch64-tune.md |
2f0610ac | 33 | ifneq ($(strip $(ENABLE_MAINTAINER_RULES)),) |
03338111 | 34 | $(SHELL) $(srcdir)/../move-if-change tmp-aarch64-tune.md \ |
43e9d192 | 35 | $(srcdir)/config/aarch64/aarch64-tune.md |
2f0610ac JJ |
36 | else |
37 | @if ! cmp -s tmp-aarch64-tune.md \ | |
38 | $(srcdir)/config/aarch64/aarch64-tune.md; then \ | |
39 | echo "aarch64-tune.md has changed; either"; \ | |
40 | echo "configure with --enable-maintainer-mode"; \ | |
41 | echo "or copy tmp-aarch64-tune.md to $(srcdir)/config/aarch64/aarch64-tune.md"; \ | |
42 | exit 1; \ | |
43 | fi | |
44 | endif | |
03338111 | 45 | $(STAMP) s-aarch64-tune-md |
43e9d192 | 46 | |
376cf6d1 JJ |
47 | s-mddeps: s-aarch64-tune-md |
48 | ||
e53b6e56 | 49 | aarch64-builtins.o: $(srcdir)/config/aarch64/aarch64-builtins.cc $(CONFIG_H) \ |
43e9d192 IB |
50 | $(SYSTEM_H) coretypes.h $(TM_H) \ |
51 | $(RTL_H) $(TREE_H) expr.h $(TM_P_H) $(RECOG_H) langhooks.h \ | |
18c63565 | 52 | $(DIAGNOSTIC_CORE_H) $(OPTABS_H) \ |
f421c516 | 53 | $(srcdir)/config/aarch64/aarch64-simd-builtins.def \ |
f9d53c27 | 54 | $(srcdir)/config/aarch64/aarch64-simd-builtin-types.def \ |
f421c516 | 55 | aarch64-builtin-iterators.h |
43e9d192 | 56 | $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \ |
e53b6e56 | 57 | $(srcdir)/config/aarch64/aarch64-builtins.cc |
17a819cb | 58 | |
624d0f07 RS |
59 | aarch64-sve-builtins.o: $(srcdir)/config/aarch64/aarch64-sve-builtins.cc \ |
60 | $(srcdir)/config/aarch64/aarch64-sve-builtins.def \ | |
0a09a948 RS |
61 | $(srcdir)/config/aarch64/aarch64-sve-builtins-base.def \ |
62 | $(srcdir)/config/aarch64/aarch64-sve-builtins-sve2.def \ | |
624d0f07 RS |
63 | $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) $(RTL_H) \ |
64 | $(TM_P_H) memmodel.h insn-codes.h $(OPTABS_H) $(RECOG_H) $(DIAGNOSTIC_H) \ | |
65 | $(EXPR_H) $(BASIC_BLOCK_H) $(FUNCTION_H) fold-const.h $(GIMPLE_H) \ | |
66 | gimple-iterator.h gimplify.h explow.h $(EMIT_RTL_H) tree-vector-builder.h \ | |
67 | stor-layout.h $(REG_H) alias.h gimple-fold.h langhooks.h \ | |
68 | stringpool.h \ | |
69 | $(srcdir)/config/aarch64/aarch64-sve-builtins.h \ | |
70 | $(srcdir)/config/aarch64/aarch64-sve-builtins-shapes.h \ | |
0a09a948 RS |
71 | $(srcdir)/config/aarch64/aarch64-sve-builtins-base.h \ |
72 | $(srcdir)/config/aarch64/aarch64-sve-builtins-sve2.h | |
624d0f07 RS |
73 | $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \ |
74 | $(srcdir)/config/aarch64/aarch64-sve-builtins.cc | |
75 | ||
76 | aarch64-sve-builtins-shapes.o: \ | |
77 | $(srcdir)/config/aarch64/aarch64-sve-builtins-shapes.cc \ | |
78 | $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) $(RTL_H) \ | |
79 | $(TM_P_H) memmodel.h insn-codes.h $(OPTABS_H) \ | |
80 | $(srcdir)/config/aarch64/aarch64-sve-builtins.h \ | |
81 | $(srcdir)/config/aarch64/aarch64-sve-builtins-shapes.h | |
82 | $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \ | |
83 | $(srcdir)/config/aarch64/aarch64-sve-builtins-shapes.cc | |
84 | ||
85 | aarch64-sve-builtins-base.o: \ | |
86 | $(srcdir)/config/aarch64/aarch64-sve-builtins-base.cc \ | |
87 | $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) $(RTL_H) \ | |
88 | $(TM_P_H) memmodel.h insn-codes.h $(OPTABS_H) $(RECOG_H) \ | |
89 | $(EXPR_H) $(BASIC_BLOCK_H) $(FUNCTION_H) fold-const.h $(GIMPLE_H) \ | |
90 | gimple-iterator.h gimplify.h explow.h $(EMIT_RTL_H) tree-vector-builder.h \ | |
91 | rtx-vector-builder.h vec-perm-indices.h \ | |
92 | $(srcdir)/config/aarch64/aarch64-sve-builtins.h \ | |
93 | $(srcdir)/config/aarch64/aarch64-sve-builtins-shapes.h \ | |
94 | $(srcdir)/config/aarch64/aarch64-sve-builtins-base.h \ | |
95 | $(srcdir)/config/aarch64/aarch64-sve-builtins-functions.h | |
96 | $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \ | |
97 | $(srcdir)/config/aarch64/aarch64-sve-builtins-base.cc | |
98 | ||
0a09a948 RS |
99 | aarch64-sve-builtins-sve2.o: \ |
100 | $(srcdir)/config/aarch64/aarch64-sve-builtins-sve2.cc \ | |
101 | $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) $(RTL_H) \ | |
102 | $(TM_P_H) memmodel.h insn-codes.h $(OPTABS_H) $(RECOG_H) \ | |
103 | $(EXPR_H) $(BASIC_BLOCK_H) $(FUNCTION_H) fold-const.h $(GIMPLE_H) \ | |
104 | gimple-iterator.h gimplify.h explow.h $(EMIT_RTL_H) tree-vector-builder.h \ | |
105 | rtx-vector-builder.h vec-perm-indices.h \ | |
106 | $(srcdir)/config/aarch64/aarch64-sve-builtins.h \ | |
107 | $(srcdir)/config/aarch64/aarch64-sve-builtins-shapes.h \ | |
108 | $(srcdir)/config/aarch64/aarch64-sve-builtins-sve2.h \ | |
109 | $(srcdir)/config/aarch64/aarch64-sve-builtins-functions.h | |
110 | $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \ | |
111 | $(srcdir)/config/aarch64/aarch64-sve-builtins-sve2.cc | |
112 | ||
f421c516 JG |
113 | aarch64-builtin-iterators.h: $(srcdir)/config/aarch64/geniterators.sh \ |
114 | $(srcdir)/config/aarch64/iterators.md | |
115 | $(SHELL) $(srcdir)/config/aarch64/geniterators.sh \ | |
116 | $(srcdir)/config/aarch64/iterators.md > \ | |
117 | aarch64-builtin-iterators.h | |
118 | ||
e53b6e56 | 119 | aarch-common.o: $(srcdir)/config/arm/aarch-common.cc $(CONFIG_H) $(SYSTEM_H) \ |
c451f4d6 SN |
120 | coretypes.h $(TM_H) $(TM_P_H) $(RTL_H) $(TREE_H) output.h $(C_COMMON_H) |
121 | $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \ | |
e53b6e56 | 122 | $(srcdir)/config/arm/aarch-common.cc |
c451f4d6 | 123 | |
e53b6e56 | 124 | aarch64-c.o: $(srcdir)/config/aarch64/aarch64-c.cc $(CONFIG_H) $(SYSTEM_H) \ |
ae55655b | 125 | coretypes.h $(TM_H) $(TREE_H) output.h $(C_COMMON_H) $(TARGET_H) |
e4ea20c8 | 126 | $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \ |
e53b6e56 | 127 | $(srcdir)/config/aarch64/aarch64-c.cc |
e4ea20c8 | 128 | |
e53b6e56 | 129 | aarch64-d.o: $(srcdir)/config/aarch64/aarch64-d.cc |
b4c522fa IB |
130 | $(COMPILE) $< |
131 | $(POSTCOMPILE) | |
132 | ||
5d4d7840 KT |
133 | PASSES_EXTRA += $(srcdir)/config/aarch64/aarch64-passes.def |
134 | ||
e53b6e56 | 135 | cortex-a57-fma-steering.o: $(srcdir)/config/aarch64/cortex-a57-fma-steering.cc \ |
fde9b31b TP |
136 | $(CONFIG_H) $(SYSTEM_H) $(TM_H) $(REGS_H) insn-config.h $(RTL_BASE_H) \ |
137 | dominance.h cfg.h cfganal.h $(BASIC_BLOCK_H) $(INSN_ATTR_H) $(RECOG_H) \ | |
138 | output.h hash-map.h $(DF_H) $(OBSTACK_H) $(TARGET_H) $(RTL_H) \ | |
139 | $(CONTEXT_H) $(TREE_PASS_H) regrename.h \ | |
dfba575f | 140 | $(srcdir)/config/aarch64/aarch64-protos.h |
fde9b31b | 141 | $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \ |
e53b6e56 | 142 | $(srcdir)/config/aarch64/cortex-a57-fma-steering.cc |
fde9b31b | 143 | |
3751345d RE |
144 | aarch64-speculation.o: $(srcdir)/config/aarch64/aarch64-speculation.cc \ |
145 | $(CONFIG_H) \ | |
146 | $(SYSTEM_H) \ | |
147 | $(TM_H) \ | |
148 | $(TARGET_H) \ | |
149 | $(RTL_BASE_H) \ | |
150 | $(TREE_PASS_H) | |
151 | $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_SPPFLAGS) $(INCLUDES) \ | |
152 | $(srcdir)/config/aarch64/aarch64-speculation.cc | |
153 | ||
a98824ac | 154 | falkor-tag-collision-avoidance.o: \ |
e53b6e56 | 155 | $(srcdir)/config/aarch64/falkor-tag-collision-avoidance.cc \ |
a98824ac SP |
156 | $(CONFIG_H) $(SYSTEM_H) $(TM_H) $(REGS_H) insn-config.h $(RTL_BASE_H) \ |
157 | dominance.h cfg.h cfganal.h $(BASIC_BLOCK_H) $(INSN_ATTR_H) $(RECOG_H) \ | |
158 | output.h hash-map.h $(DF_H) $(OBSTACK_H) $(TARGET_H) $(RTL_H) \ | |
159 | $(CONTEXT_H) $(TREE_PASS_H) regrename.h \ | |
160 | $(srcdir)/config/aarch64/aarch64-protos.h | |
161 | $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \ | |
e53b6e56 | 162 | $(srcdir)/config/aarch64/falkor-tag-collision-avoidance.cc |
a98824ac | 163 | |
e53b6e56 | 164 | aarch64-bti-insert.o: $(srcdir)/config/aarch64/aarch64-bti-insert.cc \ |
b5f794b4 SD |
165 | $(CONFIG_H) $(SYSTEM_H) $(TM_H) $(REGS_H) insn-config.h $(RTL_BASE_H) \ |
166 | dominance.h cfg.h cfganal.h $(BASIC_BLOCK_H) $(INSN_ATTR_H) $(RECOG_H) \ | |
167 | output.h hash-map.h $(DF_H) $(OBSTACK_H) $(TARGET_H) $(RTL_H) \ | |
168 | $(CONTEXT_H) $(TREE_PASS_H) regrename.h \ | |
169 | $(srcdir)/config/aarch64/aarch64-protos.h | |
170 | $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \ | |
e53b6e56 | 171 | $(srcdir)/config/aarch64/aarch64-bti-insert.cc |
b5f794b4 | 172 | |
5a783f42 RS |
173 | aarch64-cc-fusion.o: $(srcdir)/config/aarch64/aarch64-cc-fusion.cc \ |
174 | $(CONFIG_H) $(SYSTEM_H) $(CORETYPES_H) $(BACKEND_H) $(RTL_H) $(DF_H) \ | |
175 | $(RTL_SSA_H) tree-pass.h | |
176 | $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \ | |
177 | $(srcdir)/config/aarch64/aarch64-cc-fusion.cc | |
178 | ||
17a819cb | 179 | comma=, |
3e0fc59a | 180 | MULTILIB_OPTIONS = $(subst $(comma),/, $(patsubst %, mabi=%, $(subst $(comma),$(comma)mabi=,$(TM_MULTILIB_CONFIG)))) |
17a819cb | 181 | MULTILIB_DIRNAMES = $(subst $(comma), ,$(TM_MULTILIB_CONFIG)) |
915d28fe RS |
182 | |
183 | insn-conditions.md: s-check-sve-md | |
184 | s-check-sve-md: $(srcdir)/config/aarch64/check-sve-md.awk \ | |
df0f2102 RS |
185 | $(srcdir)/config/aarch64/aarch64-sve.md \ |
186 | $(srcdir)/config/aarch64/aarch64-sve2.md | |
915d28fe RS |
187 | $(AWK) -f $(srcdir)/config/aarch64/check-sve-md.awk \ |
188 | $(srcdir)/config/aarch64/aarch64-sve.md | |
df0f2102 RS |
189 | $(AWK) -f $(srcdir)/config/aarch64/check-sve-md.awk \ |
190 | $(srcdir)/config/aarch64/aarch64-sve2.md | |
915d28fe | 191 | $(STAMP) s-check-sve-md |