1# Machine description for AArch64 architecture. 2# Copyright (C) 2009-2019 Free Software Foundation, Inc. 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 21TM_H += $(srcdir)/config/aarch64/aarch64-cores.def 22OPTIONS_H_EXTRA += $(srcdir)/config/aarch64/aarch64-cores.def \ 23 $(srcdir)/config/aarch64/aarch64-arches.def \ 24 $(srcdir)/config/aarch64/aarch64-fusion-pairs.def \ 25 $(srcdir)/config/aarch64/aarch64-tuning-flags.def 26 27$(srcdir)/config/aarch64/aarch64-tune.md: $(srcdir)/config/aarch64/gentune.sh \ 28 $(srcdir)/config/aarch64/aarch64-cores.def 29 @echo "NOT REBUILDING $@" 30NetBSD_DISABLED_aarch64-tune.md: 31 $(SHELL) $(srcdir)/config/aarch64/gentune.sh \ 32 $(srcdir)/config/aarch64/aarch64-cores.def > \ 33 $(srcdir)/config/aarch64/aarch64-tune.md 34 35aarch64-builtins.o: $(srcdir)/config/aarch64/aarch64-builtins.c $(CONFIG_H) \ 36 $(SYSTEM_H) coretypes.h $(TM_H) \ 37 $(RTL_H) $(TREE_H) expr.h $(TM_P_H) $(RECOG_H) langhooks.h \ 38 $(DIAGNOSTIC_CORE_H) $(OPTABS_H) \ 39 $(srcdir)/config/aarch64/aarch64-simd-builtins.def \ 40 $(srcdir)/config/aarch64/aarch64-simd-builtin-types.def \ 41 aarch64-builtin-iterators.h 42 $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \ 43 $(srcdir)/config/aarch64/aarch64-builtins.c 44 45aarch64-builtin-iterators.h: $(srcdir)/config/aarch64/geniterators.sh \ 46 $(srcdir)/config/aarch64/iterators.md 47 $(SHELL) $(srcdir)/config/aarch64/geniterators.sh \ 48 $(srcdir)/config/aarch64/iterators.md > \ 49 aarch64-builtin-iterators.h 50 51aarch-common.o: $(srcdir)/config/arm/aarch-common.c $(CONFIG_H) $(SYSTEM_H) \ 52 coretypes.h $(TM_H) $(TM_P_H) $(RTL_H) $(TREE_H) output.h $(C_COMMON_H) 53 $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \ 54 $(srcdir)/config/arm/aarch-common.c 55 56aarch64-c.o: $(srcdir)/config/aarch64/aarch64-c.c $(CONFIG_H) $(SYSTEM_H) \ 57 coretypes.h $(TM_H) $(TREE_H) output.h $(C_COMMON_H) $(TARGET_H) 58 $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \ 59 $(srcdir)/config/aarch64/aarch64-c.c 60 61aarch64-d.o: $(srcdir)/config/aarch64/aarch64-d.c 62 $(COMPILE) $< 63 $(POSTCOMPILE) 64 65PASSES_EXTRA += $(srcdir)/config/aarch64/aarch64-passes.def 66 67cortex-a57-fma-steering.o: $(srcdir)/config/aarch64/cortex-a57-fma-steering.c \ 68 $(CONFIG_H) $(SYSTEM_H) $(TM_H) $(REGS_H) insn-config.h $(RTL_BASE_H) \ 69 dominance.h cfg.h cfganal.h $(BASIC_BLOCK_H) $(INSN_ATTR_H) $(RECOG_H) \ 70 output.h hash-map.h $(DF_H) $(OBSTACK_H) $(TARGET_H) $(RTL_H) \ 71 $(CONTEXT_H) $(TREE_PASS_H) regrename.h \ 72 $(srcdir)/config/aarch64/aarch64-protos.h 73 $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \ 74 $(srcdir)/config/aarch64/cortex-a57-fma-steering.c 75 76aarch64-speculation.o: $(srcdir)/config/aarch64/aarch64-speculation.cc \ 77 $(CONFIG_H) \ 78 $(SYSTEM_H) \ 79 $(TM_H) \ 80 $(TARGET_H) \ 81 $(RTL_BASE_H) \ 82 $(TREE_PASS_H) 83 $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_SPPFLAGS) $(INCLUDES) \ 84 $(srcdir)/config/aarch64/aarch64-speculation.cc 85 86falkor-tag-collision-avoidance.o: \ 87 $(srcdir)/config/aarch64/falkor-tag-collision-avoidance.c \ 88 $(CONFIG_H) $(SYSTEM_H) $(TM_H) $(REGS_H) insn-config.h $(RTL_BASE_H) \ 89 dominance.h cfg.h cfganal.h $(BASIC_BLOCK_H) $(INSN_ATTR_H) $(RECOG_H) \ 90 output.h hash-map.h $(DF_H) $(OBSTACK_H) $(TARGET_H) $(RTL_H) \ 91 $(CONTEXT_H) $(TREE_PASS_H) regrename.h \ 92 $(srcdir)/config/aarch64/aarch64-protos.h 93 $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \ 94 $(srcdir)/config/aarch64/falkor-tag-collision-avoidance.c 95 96aarch64-bti-insert.o: $(srcdir)/config/aarch64/aarch64-bti-insert.c \ 97 $(CONFIG_H) $(SYSTEM_H) $(TM_H) $(REGS_H) insn-config.h $(RTL_BASE_H) \ 98 dominance.h cfg.h cfganal.h $(BASIC_BLOCK_H) $(INSN_ATTR_H) $(RECOG_H) \ 99 output.h hash-map.h $(DF_H) $(OBSTACK_H) $(TARGET_H) $(RTL_H) \ 100 $(CONTEXT_H) $(TREE_PASS_H) regrename.h \ 101 $(srcdir)/config/aarch64/aarch64-protos.h 102 $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \ 103 $(srcdir)/config/aarch64/aarch64-bti-insert.c 104 105comma=, 106MULTILIB_OPTIONS = $(subst $(comma),/, $(patsubst %, mabi=%, $(subst $(comma),$(comma)mabi=,$(TM_MULTILIB_CONFIG)))) 107MULTILIB_DIRNAMES = $(subst $(comma), ,$(TM_MULTILIB_CONFIG)) 108