]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/config/aarch64/t-aarch64
Update copyright years.
[thirdparty/gcc.git] / gcc / config / aarch64 / t-aarch64
CommitLineData
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
21TM_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 24OPTIONS_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
28s-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 33ifneq ($(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
36else
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
44endif
03338111 45 $(STAMP) s-aarch64-tune-md
43e9d192 46
376cf6d1
JJ
47s-mddeps: s-aarch64-tune-md
48
e53b6e56 49aarch64-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
59aarch64-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
76aarch64-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
85aarch64-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
99aarch64-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
113aarch64-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 119aarch-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 124aarch64-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 129aarch64-d.o: $(srcdir)/config/aarch64/aarch64-d.cc
b4c522fa
IB
130 $(COMPILE) $<
131 $(POSTCOMPILE)
132
5d4d7840
KT
133PASSES_EXTRA += $(srcdir)/config/aarch64/aarch64-passes.def
134
e53b6e56 135cortex-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
144aarch64-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 154falkor-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 164aarch64-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
173aarch64-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 179comma=,
3e0fc59a 180MULTILIB_OPTIONS = $(subst $(comma),/, $(patsubst %, mabi=%, $(subst $(comma),$(comma)mabi=,$(TM_MULTILIB_CONFIG))))
17a819cb 181MULTILIB_DIRNAMES = $(subst $(comma), ,$(TM_MULTILIB_CONFIG))
915d28fe
RS
182
183insn-conditions.md: s-check-sve-md
184s-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