v8_1_a_simd_variants := $(call all_feat_combs, simd crypto)
v8_2_a_simd_variants := $(call all_feat_combs, simd fp16 fp16fml crypto dotprod)
v8_4_a_simd_variants := $(call all_feat_combs, simd fp16 crypto)
+v8_r_nosimd_variants := +crc
ifneq (,$(HAS_APROFILE))
include $(srcdir)/config/arm/t-aprofile
MULTILIB_MATCHES += $(foreach ARCH, $(all_early_arch), \
march?armv5te+fp=march?$(ARCH)+fp)
+# Map v8-r down onto common v7 code.
+MULTILIB_MATCHES += march?armv7=march?armv8-r
+MULTILIB_MATCHES += $(foreach ARCH, $(v8_r_nosimd_variants), \
+ march?armv7=march?armv8-r$(ARCH))
+MULTILIB_MATCHES += $(foreach ARCH,+simd +crypto, \
+ march?armv7+fp=march?armv8-r$(ARCH) \
+ march?armv7+fp=march?armv8-r+crc$(ARCH))
+
ifeq (,$(HAS_APROFILE))
# Map all v7-a
{-mcpu=cortex-m23 -mfpu=auto -mfloat-abi=soft} "thumb/v8-m.base/nofp"
{-mcpu=cortex-m33 -mfpu=auto -mfloat-abi=soft} "thumb/v8-m.main/nofp"
{-mcpu=cortex-m7+nofp.dp -mfpu=auto -mfloat-abi=soft} "thumb/v7e-m/nofp"
+ {-mcpu=cortex-r52 -mfpu=auto -mfloat-abi=soft} "thumb/v7/nofp"
{-mcpu=cortex-m0 -mfpu=vfpv3xd -mfloat-abi=soft} "thumb/v6-m/nofp"
{-mcpu=cortex-m1 -mfpu=vfpv3xd -mfloat-abi=soft} "thumb/v6-m/nofp"
{-mcpu=cortex-m3 -mfpu=vfpv3xd -mfloat-abi=soft} "thumb/v7-m/nofp"
{-mcpu=cortex-m7 -mfpu=auto -mfloat-abi=hard} "thumb/v7e-m+dp/hard"
{-mcpu=cortex-m33 -mfpu=auto -mfloat-abi=hard} "thumb/v8-m.main+fp/hard"
{-mcpu=cortex-m7+nofp.dp -mfpu=auto -mfloat-abi=hard} "thumb/v7e-m+fp/hard"
+ {-mcpu=cortex-r52 -mfpu=auto -mfloat-abi=hard} "thumb/v7+fp/hard"
{-mcpu=cortex-m4 -mfpu=vfpv3xd -mfloat-abi=hard} "thumb/v7e-m+fp/hard"
{-mcpu=cortex-m7 -mfpu=vfpv3xd -mfloat-abi=hard} "thumb/v7e-m+fp/hard"
{-mcpu=cortex-m33 -mfpu=vfpv3xd -mfloat-abi=hard} "thumb/v8-m.main+fp/hard"
{-mcpu=cortex-m23 -mfpu=auto -mfloat-abi=softfp} "thumb/v8-m.base/nofp"
{-mcpu=cortex-m33 -mfpu=auto -mfloat-abi=softfp} "thumb/v8-m.main+fp/softfp"
{-mcpu=cortex-m7+nofp.dp -mfpu=auto -mfloat-abi=softfp} "thumb/v7e-m+fp/softfp"
+ {-mcpu=cortex-r52 -mfpu=auto -mfloat-abi=softfp} "thumb/v7+fp/softfp"
{-mcpu=cortex-m0 -mfpu=vfpv3xd -mfloat-abi=softfp} "thumb/v6-m/nofp"
{-mcpu=cortex-m1 -mfpu=vfpv3xd -mfloat-abi=softfp} "thumb/v6-m/nofp"
{-mcpu=cortex-m3 -mfpu=vfpv3xd -mfloat-abi=softfp} "thumb/v7-m/nofp"
{-march=armv8-m.main+fp.dp -mfpu=auto -mfloat-abi=soft} "thumb/v8-m.main/nofp"
{-march=armv8-m.main+fp+dsp -mfpu=auto -mfloat-abi=soft} "thumb/v8-m.main/nofp"
{-march=armv8-m.main+fp.dp+dsp -mfpu=auto -mfloat-abi=soft} "thumb/v8-m.main/nofp"
+ {-march=armv8-r -mfpu=auto -mfloat-abi=soft} "thumb/v7/nofp"
+ {-march=armv8-r+crc -mfpu=auto -mfloat-abi=soft} "thumb/v7/nofp"
+ {-march=armv8-r+simd -mfpu=auto -mfloat-abi=soft} "thumb/v7/nofp"
+ {-march=armv8-r+crc+simd -mfpu=auto -mfloat-abi=soft} "thumb/v7/nofp"
+ {-march=armv8-r+crypto -mfpu=auto -mfloat-abi=soft} "thumb/v7/nofp"
+ {-march=armv8-r+crc+crypto -mfpu=auto -mfloat-abi=soft} "thumb/v7/nofp"
{-march=armv6-m -mfpu=vfpv3xd -mfloat-abi=soft} "thumb/v6-m/nofp"
{-march=armv7-m -mfpu=vfpv3xd -mfloat-abi=soft} "thumb/v7-m/nofp"
{-march=armv7e-m -mfpu=vfpv3xd -mfloat-abi=soft} "thumb/v7e-m/nofp"
{-march=armv8-m.main+fp.dp -mfpu=auto -mfloat-abi=hard} "thumb/v8-m.main+dp/hard"
{-march=armv8-m.main+fp+dsp -mfpu=auto -mfloat-abi=hard} "thumb/v8-m.main+fp/hard"
{-march=armv8-m.main+fp.dp+dsp -mfpu=auto -mfloat-abi=hard} "thumb/v8-m.main+dp/hard"
+ {-march=armv8-r+simd -mfpu=auto -mfloat-abi=hard} "thumb/v7+fp/hard"
+ {-march=armv8-r+crc+simd -mfpu=auto -mfloat-abi=hard} "thumb/v7+fp/hard"
+ {-march=armv8-r+crypto -mfpu=auto -mfloat-abi=hard} "thumb/v7+fp/hard"
+ {-march=armv8-r+crc+crypto -mfpu=auto -mfloat-abi=hard} "thumb/v7+fp/hard"
{-march=armv7e-m -mfpu=vfpv3xd -mfloat-abi=hard} "thumb/v7e-m+fp/hard"
{-march=armv8-m.main -mfpu=vfpv3xd -mfloat-abi=hard} "thumb/v8-m.main+fp/hard"
{-march=armv7e-m+fp -mfpu=vfpv3xd -mfloat-abi=hard} "thumb/v7e-m+fp/hard"
{-march=armv8-m.main+fp.dp -mfpu=auto -mfloat-abi=softfp} "thumb/v8-m.main+dp/softfp"
{-march=armv8-m.main+fp+dsp -mfpu=auto -mfloat-abi=softfp} "thumb/v8-m.main+fp/softfp"
{-march=armv8-m.main+fp.dp+dsp -mfpu=auto -mfloat-abi=softfp} "thumb/v8-m.main+dp/softfp"
+ {-march=armv8-r -mfpu=auto -mfloat-abi=softfp} "thumb/v7/nofp"
+ {-march=armv8-r+crc -mfpu=auto -mfloat-abi=softfp} "thumb/v7/nofp"
+ {-march=armv8-r+simd -mfpu=auto -mfloat-abi=softfp} "thumb/v7+fp/softfp"
+ {-march=armv8-r+crc+simd -mfpu=auto -mfloat-abi=softfp} "thumb/v7+fp/softfp"
+ {-march=armv8-r+crypto -mfpu=auto -mfloat-abi=softfp} "thumb/v7+fp/softfp"
+ {-march=armv8-r+crc+crypto -mfpu=auto -mfloat-abi=softfp} "thumb/v7+fp/softfp"
{-march=armv6-m -mfpu=vfpv3xd -mfloat-abi=softfp} "thumb/v6-m/nofp"
{-march=armv7-m -mfpu=vfpv3xd -mfloat-abi=softfp} "thumb/v7-m/nofp"
{-march=armv7e-m -mfpu=vfpv3xd -mfloat-abi=softfp} "thumb/v7e-m+fp/softfp"