Add assember CFI directives to millicode division and remainder routines.
[official-gcc.git] / gcc / config / arm / t-arm
blob637e72af5bb7761536e5abee77c69561c2026376
1 # Rules common to all arm targets
3 # Copyright (C) 2004-2023 Free Software Foundation, Inc.
5 # This file is part of GCC.
7 # GCC is free software; you can redistribute it and/or modify
8 # it 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.
12 # GCC is distributed in the hope that it will be useful,
13 # but WITHOUT ANY WARRANTY; without even the implied warranty of
14 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15 # GNU General Public License for more details.
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 GTM_H += arm-cpu.h arm-isa.h
23 # All md files - except for arm.md.
24 # This list should be kept in alphabetical order and updated whenever an md
25 # file is added or removed.
26 MD_INCLUDES=    $(srcdir)/config/arm/arm1020e.md \
27                 $(srcdir)/config/arm/arm1026ejs.md \
28                 $(srcdir)/config/arm/arm1136jfs.md \
29                 $(srcdir)/config/arm/arm926ejs.md \
30                 $(srcdir)/config/arm/arm-fixed.md \
31                 $(srcdir)/config/arm/arm-generic.md \
32                 $(srcdir)/config/arm/arm-tune.md \
33                 $(srcdir)/config/arm/constraints.md \
34                 $(srcdir)/config/arm/cortex-a15.md \
35                 $(srcdir)/config/arm/cortex-a5.md \
36                 $(srcdir)/config/arm/cortex-a7.md \
37                 $(srcdir)/config/arm/cortex-a8.md \
38                 $(srcdir)/config/arm/cortex-a8-neon.md \
39                 $(srcdir)/config/arm/cortex-a9.md \
40                 $(srcdir)/config/arm/cortex-a9-neon.md \
41                 $(srcdir)/config/arm/cortex-a53.md \
42                 $(srcdir)/config/arm/xgene1.md \
43                 $(srcdir)/config/arm/cortex-m4-fpu.md \
44                 $(srcdir)/config/arm/cortex-m4.md \
45                 $(srcdir)/config/arm/cortex-r4f.md \
46                 $(srcdir)/config/arm/cortex-r4.md \
47                 $(srcdir)/config/arm/fa526.md \
48                 $(srcdir)/config/arm/fa606te.md \
49                 $(srcdir)/config/arm/fa626te.md \
50                 $(srcdir)/config/arm/fa726te.md \
51                 $(srcdir)/config/arm/fmp626.md \
52                 $(srcdir)/config/arm/iterators.md \
53                 $(srcdir)/config/arm/iwmmxt.md \
54                 $(srcdir)/config/arm/iwmmxt2.md \
55                 $(srcdir)/config/arm/ldmstm.md \
56                 $(srcdir)/config/arm/ldrdstrd.md \
57                 $(srcdir)/config/arm/marvell-f-iwmmxt.md \
58                 $(srcdir)/config/arm/mve.md \
59                 $(srcdir)/config/arm/neon.md \
60                 $(srcdir)/config/arm/predicates.md \
61                 $(srcdir)/config/arm/sync.md \
62                 $(srcdir)/config/arm/thumb2.md \
63                 $(srcdir)/config/arm/vec-common.md \
64                 $(srcdir)/config/arm/vfp11.md \
65                 $(srcdir)/config/arm/vfp.md
67 s-config s-conditions s-flags s-codes s-constants s-emit s-recog s-preds \
68         s-opinit s-extract s-peep s-attr s-attrtab s-output: $(MD_INCLUDES)
70 $(srcdir)/config/arm/arm-tune.md: $(srcdir)/config/arm/parsecpu.awk \
71         $(srcdir)/config/arm/arm-cpus.in
72         $(AWK) -f $(srcdir)/config/arm/parsecpu.awk -v cmd=md \
73                 $(srcdir)/config/arm/arm-cpus.in > arm-tune.new
74         $(srcdir)/../move-if-change arm-tune.new \
75                                     $(srcdir)/config/arm/arm-tune.md
77 $(srcdir)/config/arm/arm-tables.opt: $(srcdir)/config/arm/parsecpu.awk \
78   $(srcdir)/config/arm/arm-cpus.in
79         $(AWK) -f $(srcdir)/config/arm/parsecpu.awk -v cmd=opt \
80                 $(srcdir)/config/arm/arm-cpus.in > arm-tables.new
81         $(srcdir)/../move-if-change arm-tables.new \
82                                     $(srcdir)/config/arm/arm-tables.opt
84 arm-cpu.h: s-arm-cpu ; @true
85 s-arm-cpu: $(srcdir)/config/arm/parsecpu.awk \
86   $(srcdir)/config/arm/arm-cpus.in
87         $(AWK) -f $(srcdir)/config/arm/parsecpu.awk -v cmd=headers \
88                 $(srcdir)/config/arm/arm-cpus.in > tmp-arm-cpu.h
89         $(SHELL) $(srcdir)/../move-if-change tmp-arm-cpu.h arm-cpu.h
90         $(STAMP) s-arm-cpu
92 arm-isa.h: s-arm-isa ; @true
93 s-arm-isa: $(srcdir)/config/arm/parsecpu.awk \
94   $(srcdir)/config/arm/arm-cpus.in
95         $(AWK) -f $(srcdir)/config/arm/parsecpu.awk -v cmd=isa \
96                 $(srcdir)/config/arm/arm-cpus.in > tmp-arm-isa.h
97         $(SHELL) $(srcdir)/../move-if-change tmp-arm-isa.h arm-isa.h
98         $(STAMP) s-arm-isa
100 arm-cpu-data.h: s-arm-data ; @true
101 s-arm-data: $(srcdir)/config/arm/parsecpu.awk \
102   $(srcdir)/config/arm/arm-cpus.in
103         $(AWK) -f $(srcdir)/config/arm/parsecpu.awk -v cmd=data \
104                 $(srcdir)/config/arm/arm-cpus.in > tmp-arm-cpu-data.h
105         $(SHELL) $(srcdir)/../move-if-change tmp-arm-cpu-data.h arm-cpu-data.h
106         $(STAMP) s-arm-data
108 arm-cpu-cdata.h: s-arm-cdata ; @true
109 s-arm-cdata: $(srcdir)/config/arm/parsecpu.awk \
110   $(srcdir)/config/arm/arm-cpus.in
111         $(AWK) -f $(srcdir)/config/arm/parsecpu.awk -v cmd=common-data \
112                 $(srcdir)/config/arm/arm-cpus.in > tmp-arm-cpu-cdata.h
113         $(SHELL) $(srcdir)/../move-if-change tmp-arm-cpu-cdata.h arm-cpu-cdata.h
114         $(STAMP) s-arm-cdata
116 arm-native.h: s-arm-native ; @true
117 s-arm-native: $(srcdir)/config/arm/parsecpu.awk \
118   $(srcdir)/config/arm/arm-cpus.in
119         $(AWK) -f $(srcdir)/config/arm/parsecpu.awk -v cmd=native \
120                 $(srcdir)/config/arm/arm-cpus.in > tmp-arm-native.h
121         $(SHELL) $(srcdir)/../move-if-change tmp-arm-native.h arm-native.h
122         $(STAMP) s-arm-native
124 aarch-common.o: $(srcdir)/config/arm/aarch-common.cc $(CONFIG_H) $(SYSTEM_H) \
125     coretypes.h $(TM_H) $(TM_P_H) $(RTL_H) $(TREE_H) output.h $(C_COMMON_H)
126         $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
127                 $(srcdir)/config/arm/aarch-common.cc
129 arm.o: $(srcdir)/config/arm/arm.cc $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
130   $(RTL_H) $(TREE_H) $(HASH_TABLE_H) $(OBSTACK_H) $(REGS_H) hard-reg-set.h \
131   insn-config.h conditions.h output.h dumpfile.h \
132   $(INSN_ATTR_H) $(FLAGS_H) reload.h $(FUNCTION_H) \
133   $(EXPR_H) $(OPTABS_H) $(RECOG_H) $(CGRAPH_H) \
134   $(GGC_H) except.h $(C_PRAGMA_H) $(TM_P_H) \
135   $(TARGET_H) $(TARGET_DEF_H) debug.h langhooks.h $(DF_H) \
136   intl.h libfuncs.h $(PARAMS_H) $(OPTS_H) sched-int.h \
137   arm-cpu-data.h \
138   $(srcdir)/config/arm/arm-protos.h \
139   $(srcdir)/config/arm/arm_neon_builtins.def \
140   $(srcdir)/config/arm/arm_vfp_builtins.def \
141   $(srcdir)/config/arm/arm_mve_builtins.def
143 arm-builtins.o: $(srcdir)/config/arm/arm-builtins.cc $(CONFIG_H) \
144   $(SYSTEM_H) coretypes.h $(TM_H) \
145   $(RTL_H) $(TREE_H) expr.h $(TM_P_H) $(RECOG_H) langhooks.h \
146   $(DIAGNOSTIC_CORE_H) $(OPTABS_H) \
147   $(srcdir)/config/arm/arm-protos.h \
148   $(srcdir)/config/arm/arm_acle_builtins.def \
149   $(srcdir)/config/arm/arm_neon_builtins.def \
150   $(srcdir)/config/arm/arm_vfp_builtins.def \
151   $(srcdir)/config/arm/arm_mve_builtins.def \
152   $(srcdir)/config/arm/arm-simd-builtin-types.def
153         $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
154                 $(srcdir)/config/arm/arm-builtins.cc
156 arm-mve-builtins.o: $(srcdir)/config/arm/arm-mve-builtins.cc $(CONFIG_H) \
157   $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) \
158   fold-const.h langhooks.h stringpool.h attribs.h diagnostic.h \
159   $(srcdir)/config/arm/arm-protos.h \
160   $(srcdir)/config/arm/arm-builtins.h \
161   $(srcdir)/config/arm/arm-mve-builtins.h \
162   $(srcdir)/config/arm/arm-mve-builtins.def
163         $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
164                 $(srcdir)/config/arm/arm-mve-builtins.cc
166 arm-c.o: $(srcdir)/config/arm/arm-c.cc $(CONFIG_H) $(SYSTEM_H) \
167     coretypes.h $(TM_H) $(TREE_H) output.h $(C_COMMON_H)
168         $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
169                 $(srcdir)/config/arm/arm-c.cc
171 arm-d.o: $(srcdir)/config/arm/arm-d.cc
172         $(COMPILE) $<
173         $(POSTCOMPILE)
175 arm-common.o: arm-cpu-cdata.h
177 driver-arm.o: arm-native.h
179 PASSES_EXTRA += $(srcdir)/config/arm/arm-passes.def
181 aarch-bti-insert.o: $(srcdir)/config/arm/aarch-bti-insert.cc \
182     $(CONFIG_H) $(SYSTEM_H) $(TM_H) $(REGS_H) insn-config.h $(RTL_BASE_H) \
183     dominance.h cfg.h cfganal.h $(BASIC_BLOCK_H) $(INSN_ATTR_H) $(RECOG_H) \
184     output.h hash-map.h $(DF_H) $(OBSTACK_H) $(TARGET_H) $(RTL_H) \
185     $(CONTEXT_H) $(TREE_PASS_H) regrename.h
186         $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
187                 $(srcdir)/config/arm/aarch-bti-insert.cc