]> git.ipfire.org Git - thirdparty/gcc.git/blobdiff - gcc/config/arm/t-aprofile
Update copyright years.
[thirdparty/gcc.git] / gcc / config / arm / t-aprofile
index 6c34c09cc15ff53526a682553270132795a24b51..574951c5f0bcd6fe1a60b6b2421ae0970a4c0e48 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 2012-2018 Free Software Foundation, Inc.
+# Copyright (C) 2012-2022 Free Software Foundation, Inc.
 #
 # This file is part of GCC.
 #
@@ -26,8 +26,8 @@
 
 # Arch and FPU variants to build libraries with
 
-MULTI_ARCH_OPTS_A       = march=armv7-a/march=armv7-a+fp/march=armv7-a+simd/march=armv7ve+simd/march=armv8-a/march=armv8-a+simd
-MULTI_ARCH_DIRS_A       = v7-a v7-a+fp v7-a+simd v7ve+simd v8-a v8-a+simd
+MULTI_ARCH_OPTS_A       = march=armv7-a/march=armv7-a+fp/march=armv7-a+simd/march=armv7ve+simd/march=armv8-a/march=armv8-a+simd/march=armv9-a/march=armv9-a+simd
+MULTI_ARCH_DIRS_A       = v7-a v7-a+fp v7-a+simd v7ve+simd v8-a v8-a+simd v9-a v9-a+simd
 
 # ARMv7-A - build nofp, fp-d16 and SIMD variants
 
@@ -46,17 +46,34 @@ MULTILIB_REQUIRED   += mthumb/march=armv8-a/mfloat-abi=soft
 MULTILIB_REQUIRED      += mthumb/march=armv8-a+simd/mfloat-abi=hard
 MULTILIB_REQUIRED      += mthumb/march=armv8-a+simd/mfloat-abi=softfp
 
+# Armv9-A - build nofp and SIMD variants.
+MULTILIB_REQUIRED      += mthumb/march=armv9-a/mfloat-abi=soft
+MULTILIB_REQUIRED      += mthumb/march=armv9-a+simd/mfloat-abi=hard
+MULTILIB_REQUIRED      += mthumb/march=armv9-a+simd/mfloat-abi=softfp
+
 # Matches
 
 # Arch Matches
+# Map all basic v7-a arch extensions to v7-a
+MULTILIB_MATCHES       += $(foreach ARCH, $(v7_a_arch_variants), \
+                            march?armv7-a=march?armv7-a$(ARCH))
+
 # Map all v7-a FP variants to vfpv3-d16 (+fp)
 MULTILIB_MATCHES       += $(foreach ARCH, $(filter-out +fp, $(v7_a_nosimd_variants)), \
                             march?armv7-a+fp=march?armv7-a$(ARCH))
 
+MULTILIB_MATCHES       += $(foreach ARCHVAR, $(v7_a_arch_variants), \
+                            $(foreach ARCH, $(v7_a_nosimd_variants), \
+                              march?armv7-a+fp=march?armv7-a$(ARCHVAR)$(ARCH)))
+
 # Map all v7-a SIMD variants to neon-vfpv3 (+simd)
 MULTILIB_MATCHES       += $(foreach ARCH, $(filter-out +simd, $(v7_a_simd_variants)), \
                             march?armv7-a+simd=march?armv7-a$(ARCH))
 
+MULTILIB_MATCHES       += $(foreach ARCHVAR, $(v7_a_arch_variants), \
+                            $(foreach ARCH, $(v7_a_simd_variants), \
+                              march?armv7-a+simd=march?armv7-a$(ARCHVAR)$(ARCH)))
+
 # Neither FP nor SIMD: map v7ve to v7-a
 MULTILIB_MATCHES       += march?armv7-a=march?armv7ve
 
@@ -96,17 +113,50 @@ MULTILIB_MATCHES   += $(foreach ARCH, $(v8_2_a_simd_variants), \
                             march?armv8-a+simd=march?armv8.2-a$(ARCH) \
                             march?armv8-a+simd=march?armv8.3-a$(ARCH))
 
+# Baseline v8.4-a: map down to baseline v8-a
+MULTILIB_MATCHES       += march?armv8-a=march?armv8.4-a
+
+# Map all v8.4-a SIMD variants to v8-a+simd
+MULTILIB_MATCHES       += $(foreach ARCH, $(v8_4_a_simd_variants), \
+                            march?armv8-a+simd=march?armv8.4-a$(ARCH))
+
+# Baseline v8.5-a: map down to baseline v8-a
+MULTILIB_MATCHES       += march?armv8-a=march?armv8.5-a
+
+# Map all v8.5-a SIMD variants to v8-a+simd
+MULTILIB_MATCHES       += $(foreach ARCH, $(v8_5_a_simd_variants), \
+                            march?armv8-a+simd=march?armv8.5-a$(ARCH))
+
+# Baseline v8.6-a: map down to baseline v8-a
+MULTILIB_MATCHES       += march?armv8-a=march?armv8.6-a
+
+# Map all v8.6-a SIMD variants to v8-a+simd
+MULTILIB_MATCHES       += $(foreach ARCH, $(v8_6_a_simd_variants), \
+                            march?armv8-a+simd=march?armv8.6-a$(ARCH))
+
+# Armv9 without SIMD: map down to base architecture
+MULTILIB_MATCHES       += $(foreach ARCH, $(v9_a_nosimd_variants), \
+                            march?armv9-a=march?armv9-a$(ARCH))
+
+# Armv9 with SIMD: map down to base arch + simd
+MULTILIB_MATCHES       += march?armv9-a+simd=march?armv9-a+crc+simd \
+                          $(foreach ARCH, $(filter-out +simd, $(v9_a_simd_variants)), \
+                            march?armv9-a+simd=march?armv9-a$(ARCH) \
+                            march?armv9-a+simd=march?armv9-a+crc$(ARCH))
+
 # Use Thumb libraries for everything.
 
 MULTILIB_REUSE         += mthumb/march.armv7-a/mfloat-abi.soft=marm/march.armv7-a/mfloat-abi.soft
 
 MULTILIB_REUSE         += mthumb/march.armv8-a/mfloat-abi.soft=marm/march.armv8-a/mfloat-abi.soft
 
+MULTILIB_REUSE         += mthumb/march.armv9-a/mfloat-abi.soft=marm/march.armv9-a/mfloat-abi.soft
+
 MULTILIB_REUSE         += $(foreach ABI, hard softfp, \
-                            $(foreach ARCH, armv7-a+fp armv7-a+simd armv7ve+simd armv8-a+simd, \
+                            $(foreach ARCH, armv7-a+fp armv7-a+simd armv7ve+simd armv8-a+simd armv9-a+simd, \
                               mthumb/march.$(ARCH)/mfloat-abi.$(ABI)=marm/march.$(ARCH)/mfloat-abi.$(ABI)))
 
 # Softfp but no FP, use the soft-float libraries.
 MULTILIB_REUSE         += $(foreach MODE, arm thumb, \
-                            $(foreach ARCH, armv7-a armv8-a, \
+                            $(foreach ARCH, armv7-a armv8-a armv9-a, \
                               mthumb/march.$(ARCH)/mfloat-abi.soft=m$(MODE)/march.$(ARCH)/mfloat-abi.softfp))