diff --git a/test/multilib/aarch64_a_supported_variants.test b/test/multilib/aarch64_a_supported_variants.test new file mode 100644 index 00000000..5e4563b1 --- /dev/null +++ b/test/multilib/aarch64_a_supported_variants.test @@ -0,0 +1,35 @@ +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=aarch64-none-elf -march=armv8-a 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=aarch64-none-elf -march=armv8-a -mabi=aapcs-soft 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=aarch64-none-elf -march=armv8.1-a 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=aarch64-none-elf -march=armv8.1-a -mabi=aapcs-soft 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=aarch64-none-elf -march=armv8.2-a 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=aarch64-none-elf -march=armv8.2-a -mabi=aapcs-soft 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=aarch64-none-elf -march=armv8.3-a 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=aarch64-none-elf -march=armv8.3-a -mabi=aapcs-soft 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=aarch64-none-elf -march=armv8.4-a 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=aarch64-none-elf -march=armv8.4-a -mabi=aapcs-soft 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=aarch64-none-elf -march=armv8.5-a 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=aarch64-none-elf -march=armv8.5-a -mabi=aapcs-soft 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=aarch64-none-elf -march=armv8.6-a 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=aarch64-none-elf -march=armv8.6-a -mabi=aapcs-soft 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=aarch64-none-elf -march=armv8.7-a 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=aarch64-none-elf -march=armv8.7-a -mabi=aapcs-soft 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=aarch64-none-elf -march=armv8.8-a 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=aarch64-none-elf -march=armv8.8-a -mabi=aapcs-soft 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=aarch64-none-elf -march=armv8.9-a 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=aarch64-none-elf -march=armv8.9-a -mabi=aapcs-soft 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=aarch64-none-elf -march=armv9-a 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=aarch64-none-elf -march=armv9-a -mabi=aapcs-soft 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=aarch64-none-elf -march=armv9.1-a 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=aarch64-none-elf -march=armv9.1-a -mabi=aapcs-soft 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=aarch64-none-elf -march=armv9.2-a 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=aarch64-none-elf -march=armv9.2-a -mabi=aapcs-soft 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=aarch64-none-elf -march=armv9.3-a 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=aarch64-none-elf -march=armv9.3-a -mabi=aapcs-soft 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=aarch64-none-elf -march=armv9.4-a 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=aarch64-none-elf -march=armv9.4-a -mabi=aapcs-soft 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=aarch64-none-elf -march=armv9.5-a 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=aarch64-none-elf -march=armv9.5-a -mabi=aapcs-soft 2>&1 | FileCheck %s --match-full-lines + +# CHECK-NOT: error +# CHECK-NOT: warning diff --git a/test/multilib/aarch64_r_supported_variants.test b/test/multilib/aarch64_r_supported_variants.test new file mode 100644 index 00000000..61536747 --- /dev/null +++ b/test/multilib/aarch64_r_supported_variants.test @@ -0,0 +1,5 @@ +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=aarch64-none-elf -march=armv8-r 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=aarch64-none-elf -march=armv8-r -mabi=aapcs-soft 2>&1 | FileCheck %s --match-full-lines + +# CHECK-NOT: error +# CHECK-NOT: warning diff --git a/test/multilib/arm_a_supported_variants.test b/test/multilib/arm_a_supported_variants.test new file mode 100644 index 00000000..bf7c4588 --- /dev/null +++ b/test/multilib/arm_a_supported_variants.test @@ -0,0 +1,1190 @@ +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-a -mfpu=none 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-a 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-a -mfpu=vfpv3-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-a -mfpu=fpv5-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-a -mfpu=fp-armv8-fullfp16-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-a -mfpu=fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-a -mfpu=neon 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-a -mfpu=neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-a -mfpu=neon-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-a -mfpu=neon-vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-a -mfpu=vfpv3 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-a -mfpu=vfpv3-d16-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-a -mfpu=vfpv3-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-a -mfpu=vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-a -mfpu=vfpv4-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-a -mfloat-abi=hard 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-a -mfloat-abi=hard -mfpu=vfpv3-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-a -mfloat-abi=hard -mfpu=fpv5-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-a -mfloat-abi=hard -mfpu=fp-armv8-fullfp16-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-a -mfloat-abi=hard -mfpu=fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-a -mfloat-abi=hard -mfpu=neon 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-a -mfloat-abi=hard -mfpu=neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-a -mfloat-abi=hard -mfpu=neon-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-a -mfloat-abi=hard -mfpu=neon-vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-a -mfloat-abi=hard -mfpu=vfpv3 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-a -mfloat-abi=hard -mfpu=vfpv3-d16-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-a -mfloat-abi=hard -mfpu=vfpv3-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-a -mfloat-abi=hard -mfpu=vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-a -mfloat-abi=hard -mfpu=vfpv4-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-a -mfloat-abi=soft -mfpu=none 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-a -mfloat-abi=soft 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-a -mfloat-abi=soft -mfpu=vfpv3-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-a -mfloat-abi=soft -mfpu=fpv4-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-a -mfloat-abi=soft -mfpu=fpv5-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-a -mfloat-abi=soft -mfpu=fpv5-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-a -mfloat-abi=soft -mfpu=fp-armv8-fullfp16-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-a -mfloat-abi=soft -mfpu=fp-armv8-fullfp16-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-a -mfloat-abi=soft -mfpu=crypto-neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-a -mfloat-abi=soft -mfpu=fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-a -mfloat-abi=soft -mfpu=neon 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-a -mfloat-abi=soft -mfpu=neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-a -mfloat-abi=soft -mfpu=neon-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-a -mfloat-abi=soft -mfpu=neon-vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-a -mfloat-abi=soft -mfpu=vfp 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-a -mfloat-abi=soft -mfpu=vfpv2 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-a -mfloat-abi=soft -mfpu=vfpv3 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-a -mfloat-abi=soft -mfpu=vfpv3-d16-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-a -mfloat-abi=soft -mfpu=vfpv3-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-a -mfloat-abi=soft -mfpu=vfpv3xd 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-a -mfloat-abi=soft -mfpu=vfpv3xd-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-a -mfloat-abi=soft -mfpu=vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-a -mfloat-abi=soft -mfpu=vfpv4-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-a -mfloat-abi=softfp -mfpu=none 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-a -mfloat-abi=softfp 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-a -mfloat-abi=softfp -mfpu=vfpv3-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-a -mfloat-abi=softfp -mfpu=fpv5-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-a -mfloat-abi=softfp -mfpu=fp-armv8-fullfp16-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-a -mfloat-abi=softfp -mfpu=fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-a -mfloat-abi=softfp -mfpu=neon 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-a -mfloat-abi=softfp -mfpu=neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-a -mfloat-abi=softfp -mfpu=neon-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-a -mfloat-abi=softfp -mfpu=neon-vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-a -mfloat-abi=softfp -mfpu=vfpv3 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-a -mfloat-abi=softfp -mfpu=vfpv3-d16-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-a -mfloat-abi=softfp -mfpu=vfpv3-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-a -mfloat-abi=softfp -mfpu=vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-a -mfloat-abi=softfp -mfpu=vfpv4-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-a -mfpu=none 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-a 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-a -mfpu=vfpv3-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-a -mfpu=fpv5-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-a -mfpu=fp-armv8-fullfp16-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-a -mfpu=crypto-neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-a -mfpu=fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-a -mfpu=neon 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-a -mfpu=neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-a -mfpu=neon-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-a -mfpu=neon-vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-a -mfpu=vfpv3 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-a -mfpu=vfpv3-d16-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-a -mfpu=vfpv3-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-a -mfpu=vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-a -mfpu=vfpv4-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-a -mfloat-abi=hard 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-a -mfloat-abi=hard -mfpu=vfpv3-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-a -mfloat-abi=hard -mfpu=fpv5-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-a -mfloat-abi=hard -mfpu=fp-armv8-fullfp16-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-a -mfloat-abi=hard -mfpu=crypto-neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-a -mfloat-abi=hard -mfpu=fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-a -mfloat-abi=hard -mfpu=neon 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-a -mfloat-abi=hard -mfpu=neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-a -mfloat-abi=hard -mfpu=neon-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-a -mfloat-abi=hard -mfpu=neon-vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-a -mfloat-abi=hard -mfpu=vfpv3 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-a -mfloat-abi=hard -mfpu=vfpv3-d16-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-a -mfloat-abi=hard -mfpu=vfpv3-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-a -mfloat-abi=hard -mfpu=vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-a -mfloat-abi=hard -mfpu=vfpv4-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-a -mfloat-abi=soft -mfpu=none 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-a -mfloat-abi=soft 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-a -mfloat-abi=soft -mfpu=vfpv3-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-a -mfloat-abi=soft -mfpu=fpv4-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-a -mfloat-abi=soft -mfpu=fpv5-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-a -mfloat-abi=soft -mfpu=fpv5-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-a -mfloat-abi=soft -mfpu=fp-armv8-fullfp16-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-a -mfloat-abi=soft -mfpu=fp-armv8-fullfp16-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-a -mfloat-abi=soft -mfpu=crypto-neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-a -mfloat-abi=soft -mfpu=fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-a -mfloat-abi=soft -mfpu=neon 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-a -mfloat-abi=soft -mfpu=neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-a -mfloat-abi=soft -mfpu=neon-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-a -mfloat-abi=soft -mfpu=neon-vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-a -mfloat-abi=soft -mfpu=vfp 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-a -mfloat-abi=soft -mfpu=vfpv2 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-a -mfloat-abi=soft -mfpu=vfpv3 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-a -mfloat-abi=soft -mfpu=vfpv3-d16-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-a -mfloat-abi=soft -mfpu=vfpv3-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-a -mfloat-abi=soft -mfpu=vfpv3xd 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-a -mfloat-abi=soft -mfpu=vfpv3xd-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-a -mfloat-abi=soft -mfpu=vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-a -mfloat-abi=soft -mfpu=vfpv4-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-a -mfloat-abi=softfp -mfpu=none 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-a -mfloat-abi=softfp 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-a -mfloat-abi=softfp -mfpu=vfpv3-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-a -mfloat-abi=softfp -mfpu=fpv5-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-a -mfloat-abi=softfp -mfpu=fp-armv8-fullfp16-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-a -mfloat-abi=softfp -mfpu=crypto-neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-a -mfloat-abi=softfp -mfpu=fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-a -mfloat-abi=softfp -mfpu=neon 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-a -mfloat-abi=softfp -mfpu=neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-a -mfloat-abi=softfp -mfpu=neon-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-a -mfloat-abi=softfp -mfpu=neon-vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-a -mfloat-abi=softfp -mfpu=vfpv3 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-a -mfloat-abi=softfp -mfpu=vfpv3-d16-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-a -mfloat-abi=softfp -mfpu=vfpv3-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-a -mfloat-abi=softfp -mfpu=vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-a -mfloat-abi=softfp -mfpu=vfpv4-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-a -mfpu=none 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-a 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-a -mfpu=vfpv3-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-a -mfpu=fpv5-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-a -mfpu=fp-armv8-fullfp16-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-a -mfpu=crypto-neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-a -mfpu=fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-a -mfpu=neon 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-a -mfpu=neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-a -mfpu=neon-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-a -mfpu=neon-vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-a -mfpu=vfpv3 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-a -mfpu=vfpv3-d16-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-a -mfpu=vfpv3-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-a -mfpu=vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-a -mfpu=vfpv4-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-a -mfloat-abi=hard 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-a -mfloat-abi=hard -mfpu=vfpv3-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-a -mfloat-abi=hard -mfpu=fpv5-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-a -mfloat-abi=hard -mfpu=fp-armv8-fullfp16-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-a -mfloat-abi=hard -mfpu=crypto-neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-a -mfloat-abi=hard -mfpu=fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-a -mfloat-abi=hard -mfpu=neon 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-a -mfloat-abi=hard -mfpu=neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-a -mfloat-abi=hard -mfpu=neon-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-a -mfloat-abi=hard -mfpu=neon-vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-a -mfloat-abi=hard -mfpu=vfpv3 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-a -mfloat-abi=hard -mfpu=vfpv3-d16-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-a -mfloat-abi=hard -mfpu=vfpv3-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-a -mfloat-abi=hard -mfpu=vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-a -mfloat-abi=hard -mfpu=vfpv4-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-a -mfloat-abi=soft -mfpu=none 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-a -mfloat-abi=soft 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-a -mfloat-abi=soft -mfpu=vfpv3-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-a -mfloat-abi=soft -mfpu=fpv4-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-a -mfloat-abi=soft -mfpu=fpv5-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-a -mfloat-abi=soft -mfpu=fpv5-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-a -mfloat-abi=soft -mfpu=fp-armv8-fullfp16-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-a -mfloat-abi=soft -mfpu=fp-armv8-fullfp16-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-a -mfloat-abi=soft -mfpu=crypto-neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-a -mfloat-abi=soft -mfpu=fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-a -mfloat-abi=soft -mfpu=neon 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-a -mfloat-abi=soft -mfpu=neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-a -mfloat-abi=soft -mfpu=neon-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-a -mfloat-abi=soft -mfpu=neon-vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-a -mfloat-abi=soft -mfpu=vfp 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-a -mfloat-abi=soft -mfpu=vfpv2 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-a -mfloat-abi=soft -mfpu=vfpv3 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-a -mfloat-abi=soft -mfpu=vfpv3-d16-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-a -mfloat-abi=soft -mfpu=vfpv3-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-a -mfloat-abi=soft -mfpu=vfpv3xd 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-a -mfloat-abi=soft -mfpu=vfpv3xd-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-a -mfloat-abi=soft -mfpu=vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-a -mfloat-abi=soft -mfpu=vfpv4-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-a -mfloat-abi=softfp -mfpu=none 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-a -mfloat-abi=softfp 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-a -mfloat-abi=softfp -mfpu=vfpv3-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-a -mfloat-abi=softfp -mfpu=fpv5-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-a -mfloat-abi=softfp -mfpu=fp-armv8-fullfp16-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-a -mfloat-abi=softfp -mfpu=crypto-neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-a -mfloat-abi=softfp -mfpu=fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-a -mfloat-abi=softfp -mfpu=neon 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-a -mfloat-abi=softfp -mfpu=neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-a -mfloat-abi=softfp -mfpu=neon-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-a -mfloat-abi=softfp -mfpu=neon-vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-a -mfloat-abi=softfp -mfpu=vfpv3 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-a -mfloat-abi=softfp -mfpu=vfpv3-d16-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-a -mfloat-abi=softfp -mfpu=vfpv3-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-a -mfloat-abi=softfp -mfpu=vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-a -mfloat-abi=softfp -mfpu=vfpv4-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.2-a -mfpu=none 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.2-a 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.2-a -mfpu=vfpv3-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.2-a -mfpu=fpv5-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.2-a -mfpu=fp-armv8-fullfp16-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.2-a -mfpu=crypto-neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.2-a -mfpu=fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.2-a -mfpu=neon 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.2-a -mfpu=neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.2-a -mfpu=neon-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.2-a -mfpu=neon-vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.2-a -mfpu=vfpv3 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.2-a -mfpu=vfpv3-d16-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.2-a -mfpu=vfpv3-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.2-a -mfpu=vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.2-a -mfpu=vfpv4-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.2-a -mfloat-abi=hard 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.2-a -mfloat-abi=hard -mfpu=vfpv3-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.2-a -mfloat-abi=hard -mfpu=fpv5-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.2-a -mfloat-abi=hard -mfpu=fp-armv8-fullfp16-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.2-a -mfloat-abi=hard -mfpu=crypto-neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.2-a -mfloat-abi=hard -mfpu=fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.2-a -mfloat-abi=hard -mfpu=neon 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.2-a -mfloat-abi=hard -mfpu=neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.2-a -mfloat-abi=hard -mfpu=neon-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.2-a -mfloat-abi=hard -mfpu=neon-vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.2-a -mfloat-abi=hard -mfpu=vfpv3 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.2-a -mfloat-abi=hard -mfpu=vfpv3-d16-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.2-a -mfloat-abi=hard -mfpu=vfpv3-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.2-a -mfloat-abi=hard -mfpu=vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.2-a -mfloat-abi=hard -mfpu=vfpv4-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.2-a -mfloat-abi=soft -mfpu=none 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.2-a -mfloat-abi=soft 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.2-a -mfloat-abi=soft -mfpu=vfpv3-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.2-a -mfloat-abi=soft -mfpu=fpv4-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.2-a -mfloat-abi=soft -mfpu=fpv5-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.2-a -mfloat-abi=soft -mfpu=fpv5-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.2-a -mfloat-abi=soft -mfpu=fp-armv8-fullfp16-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.2-a -mfloat-abi=soft -mfpu=fp-armv8-fullfp16-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.2-a -mfloat-abi=soft -mfpu=crypto-neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.2-a -mfloat-abi=soft -mfpu=fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.2-a -mfloat-abi=soft -mfpu=neon 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.2-a -mfloat-abi=soft -mfpu=neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.2-a -mfloat-abi=soft -mfpu=neon-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.2-a -mfloat-abi=soft -mfpu=neon-vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.2-a -mfloat-abi=soft -mfpu=vfp 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.2-a -mfloat-abi=soft -mfpu=vfpv2 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.2-a -mfloat-abi=soft -mfpu=vfpv3 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.2-a -mfloat-abi=soft -mfpu=vfpv3-d16-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.2-a -mfloat-abi=soft -mfpu=vfpv3-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.2-a -mfloat-abi=soft -mfpu=vfpv3xd 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.2-a -mfloat-abi=soft -mfpu=vfpv3xd-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.2-a -mfloat-abi=soft -mfpu=vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.2-a -mfloat-abi=soft -mfpu=vfpv4-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.2-a -mfloat-abi=softfp -mfpu=none 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.2-a -mfloat-abi=softfp 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.2-a -mfloat-abi=softfp -mfpu=vfpv3-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.2-a -mfloat-abi=softfp -mfpu=fpv5-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.2-a -mfloat-abi=softfp -mfpu=fp-armv8-fullfp16-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.2-a -mfloat-abi=softfp -mfpu=crypto-neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.2-a -mfloat-abi=softfp -mfpu=fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.2-a -mfloat-abi=softfp -mfpu=neon 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.2-a -mfloat-abi=softfp -mfpu=neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.2-a -mfloat-abi=softfp -mfpu=neon-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.2-a -mfloat-abi=softfp -mfpu=neon-vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.2-a -mfloat-abi=softfp -mfpu=vfpv3 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.2-a -mfloat-abi=softfp -mfpu=vfpv3-d16-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.2-a -mfloat-abi=softfp -mfpu=vfpv3-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.2-a -mfloat-abi=softfp -mfpu=vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.2-a -mfloat-abi=softfp -mfpu=vfpv4-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.3-a -mfpu=none 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.3-a 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.3-a -mfpu=vfpv3-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.3-a -mfpu=fpv5-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.3-a -mfpu=fp-armv8-fullfp16-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.3-a -mfpu=crypto-neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.3-a -mfpu=fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.3-a -mfpu=neon 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.3-a -mfpu=neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.3-a -mfpu=neon-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.3-a -mfpu=neon-vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.3-a -mfpu=vfpv3 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.3-a -mfpu=vfpv3-d16-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.3-a -mfpu=vfpv3-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.3-a -mfpu=vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.3-a -mfpu=vfpv4-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.3-a -mfloat-abi=hard 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.3-a -mfloat-abi=hard -mfpu=vfpv3-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.3-a -mfloat-abi=hard -mfpu=fpv5-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.3-a -mfloat-abi=hard -mfpu=fp-armv8-fullfp16-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.3-a -mfloat-abi=hard -mfpu=crypto-neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.3-a -mfloat-abi=hard -mfpu=fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.3-a -mfloat-abi=hard -mfpu=neon 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.3-a -mfloat-abi=hard -mfpu=neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.3-a -mfloat-abi=hard -mfpu=neon-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.3-a -mfloat-abi=hard -mfpu=neon-vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.3-a -mfloat-abi=hard -mfpu=vfpv3 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.3-a -mfloat-abi=hard -mfpu=vfpv3-d16-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.3-a -mfloat-abi=hard -mfpu=vfpv3-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.3-a -mfloat-abi=hard -mfpu=vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.3-a -mfloat-abi=hard -mfpu=vfpv4-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.3-a -mfloat-abi=soft -mfpu=none 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.3-a -mfloat-abi=soft 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.3-a -mfloat-abi=soft -mfpu=vfpv3-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.3-a -mfloat-abi=soft -mfpu=fpv4-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.3-a -mfloat-abi=soft -mfpu=fpv5-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.3-a -mfloat-abi=soft -mfpu=fpv5-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.3-a -mfloat-abi=soft -mfpu=fp-armv8-fullfp16-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.3-a -mfloat-abi=soft -mfpu=fp-armv8-fullfp16-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.3-a -mfloat-abi=soft -mfpu=crypto-neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.3-a -mfloat-abi=soft -mfpu=fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.3-a -mfloat-abi=soft -mfpu=neon 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.3-a -mfloat-abi=soft -mfpu=neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.3-a -mfloat-abi=soft -mfpu=neon-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.3-a -mfloat-abi=soft -mfpu=neon-vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.3-a -mfloat-abi=soft -mfpu=vfp 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.3-a -mfloat-abi=soft -mfpu=vfpv2 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.3-a -mfloat-abi=soft -mfpu=vfpv3 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.3-a -mfloat-abi=soft -mfpu=vfpv3-d16-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.3-a -mfloat-abi=soft -mfpu=vfpv3-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.3-a -mfloat-abi=soft -mfpu=vfpv3xd 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.3-a -mfloat-abi=soft -mfpu=vfpv3xd-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.3-a -mfloat-abi=soft -mfpu=vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.3-a -mfloat-abi=soft -mfpu=vfpv4-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.3-a -mfloat-abi=softfp -mfpu=none 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.3-a -mfloat-abi=softfp 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.3-a -mfloat-abi=softfp -mfpu=vfpv3-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.3-a -mfloat-abi=softfp -mfpu=fpv5-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.3-a -mfloat-abi=softfp -mfpu=fp-armv8-fullfp16-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.3-a -mfloat-abi=softfp -mfpu=crypto-neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.3-a -mfloat-abi=softfp -mfpu=fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.3-a -mfloat-abi=softfp -mfpu=neon 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.3-a -mfloat-abi=softfp -mfpu=neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.3-a -mfloat-abi=softfp -mfpu=neon-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.3-a -mfloat-abi=softfp -mfpu=neon-vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.3-a -mfloat-abi=softfp -mfpu=vfpv3 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.3-a -mfloat-abi=softfp -mfpu=vfpv3-d16-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.3-a -mfloat-abi=softfp -mfpu=vfpv3-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.3-a -mfloat-abi=softfp -mfpu=vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.3-a -mfloat-abi=softfp -mfpu=vfpv4-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.4-a -mfpu=none 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.4-a 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.4-a -mfpu=vfpv3-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.4-a -mfpu=fpv5-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.4-a -mfpu=fp-armv8-fullfp16-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.4-a -mfpu=crypto-neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.4-a -mfpu=fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.4-a -mfpu=neon 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.4-a -mfpu=neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.4-a -mfpu=neon-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.4-a -mfpu=neon-vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.4-a -mfpu=vfpv3 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.4-a -mfpu=vfpv3-d16-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.4-a -mfpu=vfpv3-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.4-a -mfpu=vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.4-a -mfpu=vfpv4-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.4-a -mfloat-abi=hard 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.4-a -mfloat-abi=hard -mfpu=vfpv3-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.4-a -mfloat-abi=hard -mfpu=fpv5-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.4-a -mfloat-abi=hard -mfpu=fp-armv8-fullfp16-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.4-a -mfloat-abi=hard -mfpu=crypto-neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.4-a -mfloat-abi=hard -mfpu=fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.4-a -mfloat-abi=hard -mfpu=neon 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.4-a -mfloat-abi=hard -mfpu=neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.4-a -mfloat-abi=hard -mfpu=neon-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.4-a -mfloat-abi=hard -mfpu=neon-vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.4-a -mfloat-abi=hard -mfpu=vfpv3 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.4-a -mfloat-abi=hard -mfpu=vfpv3-d16-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.4-a -mfloat-abi=hard -mfpu=vfpv3-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.4-a -mfloat-abi=hard -mfpu=vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.4-a -mfloat-abi=hard -mfpu=vfpv4-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.4-a -mfloat-abi=soft -mfpu=none 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.4-a -mfloat-abi=soft 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.4-a -mfloat-abi=soft -mfpu=vfpv3-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.4-a -mfloat-abi=soft -mfpu=fpv4-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.4-a -mfloat-abi=soft -mfpu=fpv5-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.4-a -mfloat-abi=soft -mfpu=fpv5-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.4-a -mfloat-abi=soft -mfpu=fp-armv8-fullfp16-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.4-a -mfloat-abi=soft -mfpu=fp-armv8-fullfp16-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.4-a -mfloat-abi=soft -mfpu=crypto-neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.4-a -mfloat-abi=soft -mfpu=fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.4-a -mfloat-abi=soft -mfpu=neon 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.4-a -mfloat-abi=soft -mfpu=neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.4-a -mfloat-abi=soft -mfpu=neon-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.4-a -mfloat-abi=soft -mfpu=neon-vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.4-a -mfloat-abi=soft -mfpu=vfp 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.4-a -mfloat-abi=soft -mfpu=vfpv2 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.4-a -mfloat-abi=soft -mfpu=vfpv3 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.4-a -mfloat-abi=soft -mfpu=vfpv3-d16-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.4-a -mfloat-abi=soft -mfpu=vfpv3-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.4-a -mfloat-abi=soft -mfpu=vfpv3xd 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.4-a -mfloat-abi=soft -mfpu=vfpv3xd-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.4-a -mfloat-abi=soft -mfpu=vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.4-a -mfloat-abi=soft -mfpu=vfpv4-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.4-a -mfloat-abi=softfp -mfpu=none 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.4-a -mfloat-abi=softfp 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.4-a -mfloat-abi=softfp -mfpu=vfpv3-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.4-a -mfloat-abi=softfp -mfpu=fpv5-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.4-a -mfloat-abi=softfp -mfpu=fp-armv8-fullfp16-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.4-a -mfloat-abi=softfp -mfpu=crypto-neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.4-a -mfloat-abi=softfp -mfpu=fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.4-a -mfloat-abi=softfp -mfpu=neon 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.4-a -mfloat-abi=softfp -mfpu=neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.4-a -mfloat-abi=softfp -mfpu=neon-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.4-a -mfloat-abi=softfp -mfpu=neon-vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.4-a -mfloat-abi=softfp -mfpu=vfpv3 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.4-a -mfloat-abi=softfp -mfpu=vfpv3-d16-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.4-a -mfloat-abi=softfp -mfpu=vfpv3-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.4-a -mfloat-abi=softfp -mfpu=vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.4-a -mfloat-abi=softfp -mfpu=vfpv4-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.5-a -mfpu=none 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.5-a 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.5-a -mfpu=vfpv3-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.5-a -mfpu=fpv5-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.5-a -mfpu=fp-armv8-fullfp16-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.5-a -mfpu=crypto-neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.5-a -mfpu=fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.5-a -mfpu=neon 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.5-a -mfpu=neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.5-a -mfpu=neon-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.5-a -mfpu=neon-vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.5-a -mfpu=vfpv3 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.5-a -mfpu=vfpv3-d16-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.5-a -mfpu=vfpv3-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.5-a -mfpu=vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.5-a -mfpu=vfpv4-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.5-a -mfloat-abi=hard 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.5-a -mfloat-abi=hard -mfpu=vfpv3-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.5-a -mfloat-abi=hard -mfpu=fpv5-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.5-a -mfloat-abi=hard -mfpu=fp-armv8-fullfp16-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.5-a -mfloat-abi=hard -mfpu=crypto-neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.5-a -mfloat-abi=hard -mfpu=fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.5-a -mfloat-abi=hard -mfpu=neon 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.5-a -mfloat-abi=hard -mfpu=neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.5-a -mfloat-abi=hard -mfpu=neon-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.5-a -mfloat-abi=hard -mfpu=neon-vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.5-a -mfloat-abi=hard -mfpu=vfpv3 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.5-a -mfloat-abi=hard -mfpu=vfpv3-d16-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.5-a -mfloat-abi=hard -mfpu=vfpv3-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.5-a -mfloat-abi=hard -mfpu=vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.5-a -mfloat-abi=hard -mfpu=vfpv4-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.5-a -mfloat-abi=soft -mfpu=none 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.5-a -mfloat-abi=soft 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.5-a -mfloat-abi=soft -mfpu=vfpv3-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.5-a -mfloat-abi=soft -mfpu=fpv4-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.5-a -mfloat-abi=soft -mfpu=fpv5-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.5-a -mfloat-abi=soft -mfpu=fpv5-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.5-a -mfloat-abi=soft -mfpu=fp-armv8-fullfp16-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.5-a -mfloat-abi=soft -mfpu=fp-armv8-fullfp16-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.5-a -mfloat-abi=soft -mfpu=crypto-neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.5-a -mfloat-abi=soft -mfpu=fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.5-a -mfloat-abi=soft -mfpu=neon 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.5-a -mfloat-abi=soft -mfpu=neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.5-a -mfloat-abi=soft -mfpu=neon-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.5-a -mfloat-abi=soft -mfpu=neon-vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.5-a -mfloat-abi=soft -mfpu=vfp 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.5-a -mfloat-abi=soft -mfpu=vfpv2 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.5-a -mfloat-abi=soft -mfpu=vfpv3 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.5-a -mfloat-abi=soft -mfpu=vfpv3-d16-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.5-a -mfloat-abi=soft -mfpu=vfpv3-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.5-a -mfloat-abi=soft -mfpu=vfpv3xd 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.5-a -mfloat-abi=soft -mfpu=vfpv3xd-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.5-a -mfloat-abi=soft -mfpu=vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.5-a -mfloat-abi=soft -mfpu=vfpv4-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.5-a -mfloat-abi=softfp -mfpu=none 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.5-a -mfloat-abi=softfp 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.5-a -mfloat-abi=softfp -mfpu=vfpv3-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.5-a -mfloat-abi=softfp -mfpu=fpv5-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.5-a -mfloat-abi=softfp -mfpu=fp-armv8-fullfp16-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.5-a -mfloat-abi=softfp -mfpu=crypto-neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.5-a -mfloat-abi=softfp -mfpu=fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.5-a -mfloat-abi=softfp -mfpu=neon 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.5-a -mfloat-abi=softfp -mfpu=neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.5-a -mfloat-abi=softfp -mfpu=neon-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.5-a -mfloat-abi=softfp -mfpu=neon-vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.5-a -mfloat-abi=softfp -mfpu=vfpv3 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.5-a -mfloat-abi=softfp -mfpu=vfpv3-d16-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.5-a -mfloat-abi=softfp -mfpu=vfpv3-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.5-a -mfloat-abi=softfp -mfpu=vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.5-a -mfloat-abi=softfp -mfpu=vfpv4-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.6-a -mfpu=none 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.6-a 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.6-a -mfpu=vfpv3-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.6-a -mfpu=fpv5-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.6-a -mfpu=fp-armv8-fullfp16-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.6-a -mfpu=crypto-neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.6-a -mfpu=fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.6-a -mfpu=neon 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.6-a -mfpu=neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.6-a -mfpu=neon-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.6-a -mfpu=neon-vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.6-a -mfpu=vfpv3 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.6-a -mfpu=vfpv3-d16-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.6-a -mfpu=vfpv3-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.6-a -mfpu=vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.6-a -mfpu=vfpv4-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.6-a -mfloat-abi=hard 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.6-a -mfloat-abi=hard -mfpu=vfpv3-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.6-a -mfloat-abi=hard -mfpu=fpv5-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.6-a -mfloat-abi=hard -mfpu=fp-armv8-fullfp16-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.6-a -mfloat-abi=hard -mfpu=crypto-neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.6-a -mfloat-abi=hard -mfpu=fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.6-a -mfloat-abi=hard -mfpu=neon 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.6-a -mfloat-abi=hard -mfpu=neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.6-a -mfloat-abi=hard -mfpu=neon-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.6-a -mfloat-abi=hard -mfpu=neon-vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.6-a -mfloat-abi=hard -mfpu=vfpv3 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.6-a -mfloat-abi=hard -mfpu=vfpv3-d16-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.6-a -mfloat-abi=hard -mfpu=vfpv3-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.6-a -mfloat-abi=hard -mfpu=vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.6-a -mfloat-abi=hard -mfpu=vfpv4-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.6-a -mfloat-abi=soft -mfpu=none 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.6-a -mfloat-abi=soft 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.6-a -mfloat-abi=soft -mfpu=vfpv3-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.6-a -mfloat-abi=soft -mfpu=fpv4-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.6-a -mfloat-abi=soft -mfpu=fpv5-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.6-a -mfloat-abi=soft -mfpu=fpv5-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.6-a -mfloat-abi=soft -mfpu=fp-armv8-fullfp16-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.6-a -mfloat-abi=soft -mfpu=fp-armv8-fullfp16-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.6-a -mfloat-abi=soft -mfpu=crypto-neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.6-a -mfloat-abi=soft -mfpu=fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.6-a -mfloat-abi=soft -mfpu=neon 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.6-a -mfloat-abi=soft -mfpu=neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.6-a -mfloat-abi=soft -mfpu=neon-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.6-a -mfloat-abi=soft -mfpu=neon-vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.6-a -mfloat-abi=soft -mfpu=vfp 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.6-a -mfloat-abi=soft -mfpu=vfpv2 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.6-a -mfloat-abi=soft -mfpu=vfpv3 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.6-a -mfloat-abi=soft -mfpu=vfpv3-d16-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.6-a -mfloat-abi=soft -mfpu=vfpv3-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.6-a -mfloat-abi=soft -mfpu=vfpv3xd 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.6-a -mfloat-abi=soft -mfpu=vfpv3xd-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.6-a -mfloat-abi=soft -mfpu=vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.6-a -mfloat-abi=soft -mfpu=vfpv4-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.6-a -mfloat-abi=softfp -mfpu=none 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.6-a -mfloat-abi=softfp 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.6-a -mfloat-abi=softfp -mfpu=vfpv3-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.6-a -mfloat-abi=softfp -mfpu=fpv5-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.6-a -mfloat-abi=softfp -mfpu=fp-armv8-fullfp16-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.6-a -mfloat-abi=softfp -mfpu=crypto-neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.6-a -mfloat-abi=softfp -mfpu=fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.6-a -mfloat-abi=softfp -mfpu=neon 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.6-a -mfloat-abi=softfp -mfpu=neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.6-a -mfloat-abi=softfp -mfpu=neon-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.6-a -mfloat-abi=softfp -mfpu=neon-vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.6-a -mfloat-abi=softfp -mfpu=vfpv3 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.6-a -mfloat-abi=softfp -mfpu=vfpv3-d16-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.6-a -mfloat-abi=softfp -mfpu=vfpv3-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.6-a -mfloat-abi=softfp -mfpu=vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.6-a -mfloat-abi=softfp -mfpu=vfpv4-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.7-a -mfpu=none 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.7-a 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.7-a -mfpu=vfpv3-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.7-a -mfpu=fpv5-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.7-a -mfpu=fp-armv8-fullfp16-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.7-a -mfpu=crypto-neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.7-a -mfpu=fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.7-a -mfpu=neon 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.7-a -mfpu=neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.7-a -mfpu=neon-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.7-a -mfpu=neon-vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.7-a -mfpu=vfpv3 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.7-a -mfpu=vfpv3-d16-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.7-a -mfpu=vfpv3-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.7-a -mfpu=vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.7-a -mfpu=vfpv4-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.7-a -mfloat-abi=hard 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.7-a -mfloat-abi=hard -mfpu=vfpv3-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.7-a -mfloat-abi=hard -mfpu=fpv5-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.7-a -mfloat-abi=hard -mfpu=fp-armv8-fullfp16-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.7-a -mfloat-abi=hard -mfpu=crypto-neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.7-a -mfloat-abi=hard -mfpu=fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.7-a -mfloat-abi=hard -mfpu=neon 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.7-a -mfloat-abi=hard -mfpu=neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.7-a -mfloat-abi=hard -mfpu=neon-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.7-a -mfloat-abi=hard -mfpu=neon-vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.7-a -mfloat-abi=hard -mfpu=vfpv3 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.7-a -mfloat-abi=hard -mfpu=vfpv3-d16-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.7-a -mfloat-abi=hard -mfpu=vfpv3-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.7-a -mfloat-abi=hard -mfpu=vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.7-a -mfloat-abi=hard -mfpu=vfpv4-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.7-a -mfloat-abi=soft -mfpu=none 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.7-a -mfloat-abi=soft 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.7-a -mfloat-abi=soft -mfpu=vfpv3-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.7-a -mfloat-abi=soft -mfpu=fpv4-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.7-a -mfloat-abi=soft -mfpu=fpv5-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.7-a -mfloat-abi=soft -mfpu=fpv5-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.7-a -mfloat-abi=soft -mfpu=fp-armv8-fullfp16-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.7-a -mfloat-abi=soft -mfpu=fp-armv8-fullfp16-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.7-a -mfloat-abi=soft -mfpu=crypto-neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.7-a -mfloat-abi=soft -mfpu=fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.7-a -mfloat-abi=soft -mfpu=neon 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.7-a -mfloat-abi=soft -mfpu=neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.7-a -mfloat-abi=soft -mfpu=neon-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.7-a -mfloat-abi=soft -mfpu=neon-vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.7-a -mfloat-abi=soft -mfpu=vfp 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.7-a -mfloat-abi=soft -mfpu=vfpv2 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.7-a -mfloat-abi=soft -mfpu=vfpv3 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.7-a -mfloat-abi=soft -mfpu=vfpv3-d16-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.7-a -mfloat-abi=soft -mfpu=vfpv3-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.7-a -mfloat-abi=soft -mfpu=vfpv3xd 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.7-a -mfloat-abi=soft -mfpu=vfpv3xd-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.7-a -mfloat-abi=soft -mfpu=vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.7-a -mfloat-abi=soft -mfpu=vfpv4-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.7-a -mfloat-abi=softfp -mfpu=none 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.7-a -mfloat-abi=softfp 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.7-a -mfloat-abi=softfp -mfpu=vfpv3-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.7-a -mfloat-abi=softfp -mfpu=fpv5-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.7-a -mfloat-abi=softfp -mfpu=fp-armv8-fullfp16-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.7-a -mfloat-abi=softfp -mfpu=crypto-neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.7-a -mfloat-abi=softfp -mfpu=fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.7-a -mfloat-abi=softfp -mfpu=neon 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.7-a -mfloat-abi=softfp -mfpu=neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.7-a -mfloat-abi=softfp -mfpu=neon-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.7-a -mfloat-abi=softfp -mfpu=neon-vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.7-a -mfloat-abi=softfp -mfpu=vfpv3 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.7-a -mfloat-abi=softfp -mfpu=vfpv3-d16-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.7-a -mfloat-abi=softfp -mfpu=vfpv3-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.7-a -mfloat-abi=softfp -mfpu=vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.7-a -mfloat-abi=softfp -mfpu=vfpv4-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.8-a -mfpu=none 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.8-a 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.8-a -mfpu=vfpv3-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.8-a -mfpu=fpv5-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.8-a -mfpu=fp-armv8-fullfp16-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.8-a -mfpu=crypto-neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.8-a -mfpu=fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.8-a -mfpu=neon 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.8-a -mfpu=neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.8-a -mfpu=neon-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.8-a -mfpu=neon-vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.8-a -mfpu=vfpv3 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.8-a -mfpu=vfpv3-d16-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.8-a -mfpu=vfpv3-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.8-a -mfpu=vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.8-a -mfpu=vfpv4-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.8-a -mfloat-abi=hard 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.8-a -mfloat-abi=hard -mfpu=vfpv3-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.8-a -mfloat-abi=hard -mfpu=fpv5-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.8-a -mfloat-abi=hard -mfpu=fp-armv8-fullfp16-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.8-a -mfloat-abi=hard -mfpu=crypto-neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.8-a -mfloat-abi=hard -mfpu=fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.8-a -mfloat-abi=hard -mfpu=neon 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.8-a -mfloat-abi=hard -mfpu=neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.8-a -mfloat-abi=hard -mfpu=neon-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.8-a -mfloat-abi=hard -mfpu=neon-vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.8-a -mfloat-abi=hard -mfpu=vfpv3 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.8-a -mfloat-abi=hard -mfpu=vfpv3-d16-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.8-a -mfloat-abi=hard -mfpu=vfpv3-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.8-a -mfloat-abi=hard -mfpu=vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.8-a -mfloat-abi=hard -mfpu=vfpv4-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.8-a -mfloat-abi=soft -mfpu=none 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.8-a -mfloat-abi=soft 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.8-a -mfloat-abi=soft -mfpu=vfpv3-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.8-a -mfloat-abi=soft -mfpu=fpv4-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.8-a -mfloat-abi=soft -mfpu=fpv5-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.8-a -mfloat-abi=soft -mfpu=fpv5-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.8-a -mfloat-abi=soft -mfpu=fp-armv8-fullfp16-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.8-a -mfloat-abi=soft -mfpu=fp-armv8-fullfp16-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.8-a -mfloat-abi=soft -mfpu=crypto-neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.8-a -mfloat-abi=soft -mfpu=fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.8-a -mfloat-abi=soft -mfpu=neon 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.8-a -mfloat-abi=soft -mfpu=neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.8-a -mfloat-abi=soft -mfpu=neon-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.8-a -mfloat-abi=soft -mfpu=neon-vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.8-a -mfloat-abi=soft -mfpu=vfp 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.8-a -mfloat-abi=soft -mfpu=vfpv2 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.8-a -mfloat-abi=soft -mfpu=vfpv3 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.8-a -mfloat-abi=soft -mfpu=vfpv3-d16-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.8-a -mfloat-abi=soft -mfpu=vfpv3-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.8-a -mfloat-abi=soft -mfpu=vfpv3xd 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.8-a -mfloat-abi=soft -mfpu=vfpv3xd-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.8-a -mfloat-abi=soft -mfpu=vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.8-a -mfloat-abi=soft -mfpu=vfpv4-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.8-a -mfloat-abi=softfp -mfpu=none 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.8-a -mfloat-abi=softfp 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.8-a -mfloat-abi=softfp -mfpu=vfpv3-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.8-a -mfloat-abi=softfp -mfpu=fpv5-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.8-a -mfloat-abi=softfp -mfpu=fp-armv8-fullfp16-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.8-a -mfloat-abi=softfp -mfpu=crypto-neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.8-a -mfloat-abi=softfp -mfpu=fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.8-a -mfloat-abi=softfp -mfpu=neon 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.8-a -mfloat-abi=softfp -mfpu=neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.8-a -mfloat-abi=softfp -mfpu=neon-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.8-a -mfloat-abi=softfp -mfpu=neon-vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.8-a -mfloat-abi=softfp -mfpu=vfpv3 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.8-a -mfloat-abi=softfp -mfpu=vfpv3-d16-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.8-a -mfloat-abi=softfp -mfpu=vfpv3-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.8-a -mfloat-abi=softfp -mfpu=vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.8-a -mfloat-abi=softfp -mfpu=vfpv4-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.9-a -mfpu=none 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.9-a 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.9-a -mfpu=vfpv3-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.9-a -mfpu=fpv5-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.9-a -mfpu=fp-armv8-fullfp16-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.9-a -mfpu=crypto-neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.9-a -mfpu=fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.9-a -mfpu=neon 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.9-a -mfpu=neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.9-a -mfpu=neon-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.9-a -mfpu=neon-vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.9-a -mfpu=vfpv3 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.9-a -mfpu=vfpv3-d16-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.9-a -mfpu=vfpv3-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.9-a -mfpu=vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.9-a -mfpu=vfpv4-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.9-a -mfloat-abi=hard 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.9-a -mfloat-abi=hard -mfpu=vfpv3-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.9-a -mfloat-abi=hard -mfpu=fpv5-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.9-a -mfloat-abi=hard -mfpu=fp-armv8-fullfp16-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.9-a -mfloat-abi=hard -mfpu=crypto-neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.9-a -mfloat-abi=hard -mfpu=fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.9-a -mfloat-abi=hard -mfpu=neon 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.9-a -mfloat-abi=hard -mfpu=neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.9-a -mfloat-abi=hard -mfpu=neon-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.9-a -mfloat-abi=hard -mfpu=neon-vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.9-a -mfloat-abi=hard -mfpu=vfpv3 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.9-a -mfloat-abi=hard -mfpu=vfpv3-d16-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.9-a -mfloat-abi=hard -mfpu=vfpv3-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.9-a -mfloat-abi=hard -mfpu=vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.9-a -mfloat-abi=hard -mfpu=vfpv4-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.9-a -mfloat-abi=soft -mfpu=none 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.9-a -mfloat-abi=soft 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.9-a -mfloat-abi=soft -mfpu=vfpv3-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.9-a -mfloat-abi=soft -mfpu=fpv4-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.9-a -mfloat-abi=soft -mfpu=fpv5-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.9-a -mfloat-abi=soft -mfpu=fpv5-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.9-a -mfloat-abi=soft -mfpu=fp-armv8-fullfp16-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.9-a -mfloat-abi=soft -mfpu=fp-armv8-fullfp16-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.9-a -mfloat-abi=soft -mfpu=crypto-neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.9-a -mfloat-abi=soft -mfpu=fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.9-a -mfloat-abi=soft -mfpu=neon 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.9-a -mfloat-abi=soft -mfpu=neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.9-a -mfloat-abi=soft -mfpu=neon-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.9-a -mfloat-abi=soft -mfpu=neon-vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.9-a -mfloat-abi=soft -mfpu=vfp 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.9-a -mfloat-abi=soft -mfpu=vfpv2 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.9-a -mfloat-abi=soft -mfpu=vfpv3 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.9-a -mfloat-abi=soft -mfpu=vfpv3-d16-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.9-a -mfloat-abi=soft -mfpu=vfpv3-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.9-a -mfloat-abi=soft -mfpu=vfpv3xd 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.9-a -mfloat-abi=soft -mfpu=vfpv3xd-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.9-a -mfloat-abi=soft -mfpu=vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.9-a -mfloat-abi=soft -mfpu=vfpv4-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.9-a -mfloat-abi=softfp -mfpu=none 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.9-a -mfloat-abi=softfp 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.9-a -mfloat-abi=softfp -mfpu=vfpv3-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.9-a -mfloat-abi=softfp -mfpu=fpv5-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.9-a -mfloat-abi=softfp -mfpu=fp-armv8-fullfp16-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.9-a -mfloat-abi=softfp -mfpu=crypto-neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.9-a -mfloat-abi=softfp -mfpu=fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.9-a -mfloat-abi=softfp -mfpu=neon 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.9-a -mfloat-abi=softfp -mfpu=neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.9-a -mfloat-abi=softfp -mfpu=neon-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.9-a -mfloat-abi=softfp -mfpu=neon-vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.9-a -mfloat-abi=softfp -mfpu=vfpv3 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.9-a -mfloat-abi=softfp -mfpu=vfpv3-d16-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.9-a -mfloat-abi=softfp -mfpu=vfpv3-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.9-a -mfloat-abi=softfp -mfpu=vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.9-a -mfloat-abi=softfp -mfpu=vfpv4-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9-a -mfpu=none 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9-a 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9-a -mfpu=vfpv3-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9-a -mfpu=fpv5-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9-a -mfpu=fp-armv8-fullfp16-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9-a -mfpu=crypto-neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9-a -mfpu=fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9-a -mfpu=neon 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9-a -mfpu=neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9-a -mfpu=neon-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9-a -mfpu=neon-vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9-a -mfpu=vfpv3 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9-a -mfpu=vfpv3-d16-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9-a -mfpu=vfpv3-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9-a -mfpu=vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9-a -mfpu=vfpv4-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9-a -mfloat-abi=hard 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9-a -mfloat-abi=hard -mfpu=vfpv3-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9-a -mfloat-abi=hard -mfpu=fpv5-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9-a -mfloat-abi=hard -mfpu=fp-armv8-fullfp16-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9-a -mfloat-abi=hard -mfpu=crypto-neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9-a -mfloat-abi=hard -mfpu=fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9-a -mfloat-abi=hard -mfpu=neon 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9-a -mfloat-abi=hard -mfpu=neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9-a -mfloat-abi=hard -mfpu=neon-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9-a -mfloat-abi=hard -mfpu=neon-vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9-a -mfloat-abi=hard -mfpu=vfpv3 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9-a -mfloat-abi=hard -mfpu=vfpv3-d16-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9-a -mfloat-abi=hard -mfpu=vfpv3-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9-a -mfloat-abi=hard -mfpu=vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9-a -mfloat-abi=hard -mfpu=vfpv4-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9-a -mfloat-abi=soft -mfpu=none 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9-a -mfloat-abi=soft 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9-a -mfloat-abi=soft -mfpu=vfpv3-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9-a -mfloat-abi=soft -mfpu=fpv4-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9-a -mfloat-abi=soft -mfpu=fpv5-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9-a -mfloat-abi=soft -mfpu=fpv5-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9-a -mfloat-abi=soft -mfpu=fp-armv8-fullfp16-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9-a -mfloat-abi=soft -mfpu=fp-armv8-fullfp16-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9-a -mfloat-abi=soft -mfpu=crypto-neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9-a -mfloat-abi=soft -mfpu=fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9-a -mfloat-abi=soft -mfpu=neon 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9-a -mfloat-abi=soft -mfpu=neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9-a -mfloat-abi=soft -mfpu=neon-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9-a -mfloat-abi=soft -mfpu=neon-vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9-a -mfloat-abi=soft -mfpu=vfp 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9-a -mfloat-abi=soft -mfpu=vfpv2 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9-a -mfloat-abi=soft -mfpu=vfpv3 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9-a -mfloat-abi=soft -mfpu=vfpv3-d16-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9-a -mfloat-abi=soft -mfpu=vfpv3-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9-a -mfloat-abi=soft -mfpu=vfpv3xd 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9-a -mfloat-abi=soft -mfpu=vfpv3xd-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9-a -mfloat-abi=soft -mfpu=vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9-a -mfloat-abi=soft -mfpu=vfpv4-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9-a -mfloat-abi=softfp -mfpu=none 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9-a -mfloat-abi=softfp 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9-a -mfloat-abi=softfp -mfpu=vfpv3-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9-a -mfloat-abi=softfp -mfpu=fpv5-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9-a -mfloat-abi=softfp -mfpu=fp-armv8-fullfp16-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9-a -mfloat-abi=softfp -mfpu=crypto-neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9-a -mfloat-abi=softfp -mfpu=fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9-a -mfloat-abi=softfp -mfpu=neon 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9-a -mfloat-abi=softfp -mfpu=neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9-a -mfloat-abi=softfp -mfpu=neon-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9-a -mfloat-abi=softfp -mfpu=neon-vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9-a -mfloat-abi=softfp -mfpu=vfpv3 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9-a -mfloat-abi=softfp -mfpu=vfpv3-d16-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9-a -mfloat-abi=softfp -mfpu=vfpv3-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9-a -mfloat-abi=softfp -mfpu=vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9-a -mfloat-abi=softfp -mfpu=vfpv4-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.1-a -mfpu=none 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.1-a 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.1-a -mfpu=vfpv3-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.1-a -mfpu=fpv5-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.1-a -mfpu=fp-armv8-fullfp16-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.1-a -mfpu=crypto-neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.1-a -mfpu=fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.1-a -mfpu=neon 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.1-a -mfpu=neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.1-a -mfpu=neon-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.1-a -mfpu=neon-vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.1-a -mfpu=vfpv3 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.1-a -mfpu=vfpv3-d16-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.1-a -mfpu=vfpv3-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.1-a -mfpu=vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.1-a -mfpu=vfpv4-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.1-a -mfloat-abi=hard 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.1-a -mfloat-abi=hard -mfpu=vfpv3-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.1-a -mfloat-abi=hard -mfpu=fpv5-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.1-a -mfloat-abi=hard -mfpu=fp-armv8-fullfp16-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.1-a -mfloat-abi=hard -mfpu=crypto-neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.1-a -mfloat-abi=hard -mfpu=fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.1-a -mfloat-abi=hard -mfpu=neon 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.1-a -mfloat-abi=hard -mfpu=neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.1-a -mfloat-abi=hard -mfpu=neon-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.1-a -mfloat-abi=hard -mfpu=neon-vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.1-a -mfloat-abi=hard -mfpu=vfpv3 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.1-a -mfloat-abi=hard -mfpu=vfpv3-d16-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.1-a -mfloat-abi=hard -mfpu=vfpv3-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.1-a -mfloat-abi=hard -mfpu=vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.1-a -mfloat-abi=hard -mfpu=vfpv4-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.1-a -mfloat-abi=soft -mfpu=none 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.1-a -mfloat-abi=soft 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.1-a -mfloat-abi=soft -mfpu=vfpv3-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.1-a -mfloat-abi=soft -mfpu=fpv4-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.1-a -mfloat-abi=soft -mfpu=fpv5-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.1-a -mfloat-abi=soft -mfpu=fpv5-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.1-a -mfloat-abi=soft -mfpu=fp-armv8-fullfp16-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.1-a -mfloat-abi=soft -mfpu=fp-armv8-fullfp16-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.1-a -mfloat-abi=soft -mfpu=crypto-neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.1-a -mfloat-abi=soft -mfpu=fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.1-a -mfloat-abi=soft -mfpu=neon 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.1-a -mfloat-abi=soft -mfpu=neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.1-a -mfloat-abi=soft -mfpu=neon-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.1-a -mfloat-abi=soft -mfpu=neon-vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.1-a -mfloat-abi=soft -mfpu=vfp 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.1-a -mfloat-abi=soft -mfpu=vfpv2 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.1-a -mfloat-abi=soft -mfpu=vfpv3 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.1-a -mfloat-abi=soft -mfpu=vfpv3-d16-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.1-a -mfloat-abi=soft -mfpu=vfpv3-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.1-a -mfloat-abi=soft -mfpu=vfpv3xd 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.1-a -mfloat-abi=soft -mfpu=vfpv3xd-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.1-a -mfloat-abi=soft -mfpu=vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.1-a -mfloat-abi=soft -mfpu=vfpv4-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.1-a -mfloat-abi=softfp -mfpu=none 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.1-a -mfloat-abi=softfp 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.1-a -mfloat-abi=softfp -mfpu=vfpv3-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.1-a -mfloat-abi=softfp -mfpu=fpv5-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.1-a -mfloat-abi=softfp -mfpu=fp-armv8-fullfp16-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.1-a -mfloat-abi=softfp -mfpu=crypto-neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.1-a -mfloat-abi=softfp -mfpu=fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.1-a -mfloat-abi=softfp -mfpu=neon 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.1-a -mfloat-abi=softfp -mfpu=neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.1-a -mfloat-abi=softfp -mfpu=neon-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.1-a -mfloat-abi=softfp -mfpu=neon-vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.1-a -mfloat-abi=softfp -mfpu=vfpv3 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.1-a -mfloat-abi=softfp -mfpu=vfpv3-d16-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.1-a -mfloat-abi=softfp -mfpu=vfpv3-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.1-a -mfloat-abi=softfp -mfpu=vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.1-a -mfloat-abi=softfp -mfpu=vfpv4-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.2-a -mfpu=none 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.2-a 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.2-a -mfpu=vfpv3-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.2-a -mfpu=fpv5-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.2-a -mfpu=fp-armv8-fullfp16-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.2-a -mfpu=crypto-neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.2-a -mfpu=fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.2-a -mfpu=neon 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.2-a -mfpu=neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.2-a -mfpu=neon-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.2-a -mfpu=neon-vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.2-a -mfpu=vfpv3 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.2-a -mfpu=vfpv3-d16-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.2-a -mfpu=vfpv3-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.2-a -mfpu=vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.2-a -mfpu=vfpv4-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.2-a -mfloat-abi=hard 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.2-a -mfloat-abi=hard -mfpu=vfpv3-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.2-a -mfloat-abi=hard -mfpu=fpv5-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.2-a -mfloat-abi=hard -mfpu=fp-armv8-fullfp16-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.2-a -mfloat-abi=hard -mfpu=crypto-neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.2-a -mfloat-abi=hard -mfpu=fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.2-a -mfloat-abi=hard -mfpu=neon 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.2-a -mfloat-abi=hard -mfpu=neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.2-a -mfloat-abi=hard -mfpu=neon-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.2-a -mfloat-abi=hard -mfpu=neon-vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.2-a -mfloat-abi=hard -mfpu=vfpv3 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.2-a -mfloat-abi=hard -mfpu=vfpv3-d16-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.2-a -mfloat-abi=hard -mfpu=vfpv3-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.2-a -mfloat-abi=hard -mfpu=vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.2-a -mfloat-abi=hard -mfpu=vfpv4-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.2-a -mfloat-abi=soft -mfpu=none 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.2-a -mfloat-abi=soft 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.2-a -mfloat-abi=soft -mfpu=vfpv3-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.2-a -mfloat-abi=soft -mfpu=fpv4-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.2-a -mfloat-abi=soft -mfpu=fpv5-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.2-a -mfloat-abi=soft -mfpu=fpv5-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.2-a -mfloat-abi=soft -mfpu=fp-armv8-fullfp16-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.2-a -mfloat-abi=soft -mfpu=fp-armv8-fullfp16-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.2-a -mfloat-abi=soft -mfpu=crypto-neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.2-a -mfloat-abi=soft -mfpu=fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.2-a -mfloat-abi=soft -mfpu=neon 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.2-a -mfloat-abi=soft -mfpu=neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.2-a -mfloat-abi=soft -mfpu=neon-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.2-a -mfloat-abi=soft -mfpu=neon-vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.2-a -mfloat-abi=soft -mfpu=vfp 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.2-a -mfloat-abi=soft -mfpu=vfpv2 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.2-a -mfloat-abi=soft -mfpu=vfpv3 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.2-a -mfloat-abi=soft -mfpu=vfpv3-d16-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.2-a -mfloat-abi=soft -mfpu=vfpv3-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.2-a -mfloat-abi=soft -mfpu=vfpv3xd 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.2-a -mfloat-abi=soft -mfpu=vfpv3xd-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.2-a -mfloat-abi=soft -mfpu=vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.2-a -mfloat-abi=soft -mfpu=vfpv4-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.2-a -mfloat-abi=softfp -mfpu=none 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.2-a -mfloat-abi=softfp 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.2-a -mfloat-abi=softfp -mfpu=vfpv3-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.2-a -mfloat-abi=softfp -mfpu=fpv5-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.2-a -mfloat-abi=softfp -mfpu=fp-armv8-fullfp16-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.2-a -mfloat-abi=softfp -mfpu=crypto-neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.2-a -mfloat-abi=softfp -mfpu=fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.2-a -mfloat-abi=softfp -mfpu=neon 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.2-a -mfloat-abi=softfp -mfpu=neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.2-a -mfloat-abi=softfp -mfpu=neon-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.2-a -mfloat-abi=softfp -mfpu=neon-vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.2-a -mfloat-abi=softfp -mfpu=vfpv3 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.2-a -mfloat-abi=softfp -mfpu=vfpv3-d16-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.2-a -mfloat-abi=softfp -mfpu=vfpv3-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.2-a -mfloat-abi=softfp -mfpu=vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.2-a -mfloat-abi=softfp -mfpu=vfpv4-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.3-a -mfpu=none 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.3-a 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.3-a -mfpu=vfpv3-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.3-a -mfpu=fpv5-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.3-a -mfpu=fp-armv8-fullfp16-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.3-a -mfpu=crypto-neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.3-a -mfpu=fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.3-a -mfpu=neon 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.3-a -mfpu=neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.3-a -mfpu=neon-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.3-a -mfpu=neon-vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.3-a -mfpu=vfpv3 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.3-a -mfpu=vfpv3-d16-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.3-a -mfpu=vfpv3-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.3-a -mfpu=vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.3-a -mfpu=vfpv4-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.3-a -mfloat-abi=hard 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.3-a -mfloat-abi=hard -mfpu=vfpv3-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.3-a -mfloat-abi=hard -mfpu=fpv5-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.3-a -mfloat-abi=hard -mfpu=fp-armv8-fullfp16-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.3-a -mfloat-abi=hard -mfpu=crypto-neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.3-a -mfloat-abi=hard -mfpu=fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.3-a -mfloat-abi=hard -mfpu=neon 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.3-a -mfloat-abi=hard -mfpu=neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.3-a -mfloat-abi=hard -mfpu=neon-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.3-a -mfloat-abi=hard -mfpu=neon-vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.3-a -mfloat-abi=hard -mfpu=vfpv3 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.3-a -mfloat-abi=hard -mfpu=vfpv3-d16-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.3-a -mfloat-abi=hard -mfpu=vfpv3-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.3-a -mfloat-abi=hard -mfpu=vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.3-a -mfloat-abi=hard -mfpu=vfpv4-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.3-a -mfloat-abi=soft -mfpu=none 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.3-a -mfloat-abi=soft 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.3-a -mfloat-abi=soft -mfpu=vfpv3-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.3-a -mfloat-abi=soft -mfpu=fpv4-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.3-a -mfloat-abi=soft -mfpu=fpv5-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.3-a -mfloat-abi=soft -mfpu=fpv5-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.3-a -mfloat-abi=soft -mfpu=fp-armv8-fullfp16-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.3-a -mfloat-abi=soft -mfpu=fp-armv8-fullfp16-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.3-a -mfloat-abi=soft -mfpu=crypto-neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.3-a -mfloat-abi=soft -mfpu=fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.3-a -mfloat-abi=soft -mfpu=neon 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.3-a -mfloat-abi=soft -mfpu=neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.3-a -mfloat-abi=soft -mfpu=neon-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.3-a -mfloat-abi=soft -mfpu=neon-vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.3-a -mfloat-abi=soft -mfpu=vfp 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.3-a -mfloat-abi=soft -mfpu=vfpv2 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.3-a -mfloat-abi=soft -mfpu=vfpv3 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.3-a -mfloat-abi=soft -mfpu=vfpv3-d16-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.3-a -mfloat-abi=soft -mfpu=vfpv3-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.3-a -mfloat-abi=soft -mfpu=vfpv3xd 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.3-a -mfloat-abi=soft -mfpu=vfpv3xd-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.3-a -mfloat-abi=soft -mfpu=vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.3-a -mfloat-abi=soft -mfpu=vfpv4-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.3-a -mfloat-abi=softfp -mfpu=none 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.3-a -mfloat-abi=softfp 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.3-a -mfloat-abi=softfp -mfpu=vfpv3-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.3-a -mfloat-abi=softfp -mfpu=fpv5-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.3-a -mfloat-abi=softfp -mfpu=fp-armv8-fullfp16-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.3-a -mfloat-abi=softfp -mfpu=crypto-neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.3-a -mfloat-abi=softfp -mfpu=fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.3-a -mfloat-abi=softfp -mfpu=neon 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.3-a -mfloat-abi=softfp -mfpu=neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.3-a -mfloat-abi=softfp -mfpu=neon-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.3-a -mfloat-abi=softfp -mfpu=neon-vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.3-a -mfloat-abi=softfp -mfpu=vfpv3 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.3-a -mfloat-abi=softfp -mfpu=vfpv3-d16-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.3-a -mfloat-abi=softfp -mfpu=vfpv3-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.3-a -mfloat-abi=softfp -mfpu=vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.3-a -mfloat-abi=softfp -mfpu=vfpv4-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.4-a -mfpu=none 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.4-a 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.4-a -mfpu=vfpv3-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.4-a -mfpu=fpv5-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.4-a -mfpu=fp-armv8-fullfp16-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.4-a -mfpu=crypto-neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.4-a -mfpu=fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.4-a -mfpu=neon 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.4-a -mfpu=neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.4-a -mfpu=neon-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.4-a -mfpu=neon-vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.4-a -mfpu=vfpv3 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.4-a -mfpu=vfpv3-d16-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.4-a -mfpu=vfpv3-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.4-a -mfpu=vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.4-a -mfpu=vfpv4-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.4-a -mfloat-abi=hard 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.4-a -mfloat-abi=hard -mfpu=vfpv3-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.4-a -mfloat-abi=hard -mfpu=fpv5-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.4-a -mfloat-abi=hard -mfpu=fp-armv8-fullfp16-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.4-a -mfloat-abi=hard -mfpu=crypto-neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.4-a -mfloat-abi=hard -mfpu=fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.4-a -mfloat-abi=hard -mfpu=neon 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.4-a -mfloat-abi=hard -mfpu=neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.4-a -mfloat-abi=hard -mfpu=neon-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.4-a -mfloat-abi=hard -mfpu=neon-vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.4-a -mfloat-abi=hard -mfpu=vfpv3 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.4-a -mfloat-abi=hard -mfpu=vfpv3-d16-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.4-a -mfloat-abi=hard -mfpu=vfpv3-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.4-a -mfloat-abi=hard -mfpu=vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.4-a -mfloat-abi=hard -mfpu=vfpv4-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.4-a -mfloat-abi=soft -mfpu=none 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.4-a -mfloat-abi=soft 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.4-a -mfloat-abi=soft -mfpu=vfpv3-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.4-a -mfloat-abi=soft -mfpu=fpv4-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.4-a -mfloat-abi=soft -mfpu=fpv5-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.4-a -mfloat-abi=soft -mfpu=fpv5-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.4-a -mfloat-abi=soft -mfpu=fp-armv8-fullfp16-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.4-a -mfloat-abi=soft -mfpu=fp-armv8-fullfp16-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.4-a -mfloat-abi=soft -mfpu=crypto-neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.4-a -mfloat-abi=soft -mfpu=fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.4-a -mfloat-abi=soft -mfpu=neon 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.4-a -mfloat-abi=soft -mfpu=neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.4-a -mfloat-abi=soft -mfpu=neon-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.4-a -mfloat-abi=soft -mfpu=neon-vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.4-a -mfloat-abi=soft -mfpu=vfp 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.4-a -mfloat-abi=soft -mfpu=vfpv2 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.4-a -mfloat-abi=soft -mfpu=vfpv3 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.4-a -mfloat-abi=soft -mfpu=vfpv3-d16-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.4-a -mfloat-abi=soft -mfpu=vfpv3-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.4-a -mfloat-abi=soft -mfpu=vfpv3xd 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.4-a -mfloat-abi=soft -mfpu=vfpv3xd-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.4-a -mfloat-abi=soft -mfpu=vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.4-a -mfloat-abi=soft -mfpu=vfpv4-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.4-a -mfloat-abi=softfp -mfpu=none 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.4-a -mfloat-abi=softfp 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.4-a -mfloat-abi=softfp -mfpu=vfpv3-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.4-a -mfloat-abi=softfp -mfpu=fpv5-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.4-a -mfloat-abi=softfp -mfpu=fp-armv8-fullfp16-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.4-a -mfloat-abi=softfp -mfpu=crypto-neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.4-a -mfloat-abi=softfp -mfpu=fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.4-a -mfloat-abi=softfp -mfpu=neon 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.4-a -mfloat-abi=softfp -mfpu=neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.4-a -mfloat-abi=softfp -mfpu=neon-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.4-a -mfloat-abi=softfp -mfpu=neon-vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.4-a -mfloat-abi=softfp -mfpu=vfpv3 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.4-a -mfloat-abi=softfp -mfpu=vfpv3-d16-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.4-a -mfloat-abi=softfp -mfpu=vfpv3-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.4-a -mfloat-abi=softfp -mfpu=vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.4-a -mfloat-abi=softfp -mfpu=vfpv4-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.5-a -mfpu=none 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.5-a 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.5-a -mfpu=vfpv3-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.5-a -mfpu=fpv5-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.5-a -mfpu=fp-armv8-fullfp16-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.5-a -mfpu=crypto-neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.5-a -mfpu=fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.5-a -mfpu=neon 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.5-a -mfpu=neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.5-a -mfpu=neon-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.5-a -mfpu=neon-vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.5-a -mfpu=vfpv3 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.5-a -mfpu=vfpv3-d16-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.5-a -mfpu=vfpv3-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.5-a -mfpu=vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.5-a -mfpu=vfpv4-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.5-a -mfloat-abi=hard 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.5-a -mfloat-abi=hard -mfpu=vfpv3-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.5-a -mfloat-abi=hard -mfpu=fpv5-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.5-a -mfloat-abi=hard -mfpu=fp-armv8-fullfp16-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.5-a -mfloat-abi=hard -mfpu=crypto-neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.5-a -mfloat-abi=hard -mfpu=fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.5-a -mfloat-abi=hard -mfpu=neon 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.5-a -mfloat-abi=hard -mfpu=neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.5-a -mfloat-abi=hard -mfpu=neon-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.5-a -mfloat-abi=hard -mfpu=neon-vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.5-a -mfloat-abi=hard -mfpu=vfpv3 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.5-a -mfloat-abi=hard -mfpu=vfpv3-d16-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.5-a -mfloat-abi=hard -mfpu=vfpv3-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.5-a -mfloat-abi=hard -mfpu=vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.5-a -mfloat-abi=hard -mfpu=vfpv4-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.5-a -mfloat-abi=soft -mfpu=none 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.5-a -mfloat-abi=soft 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.5-a -mfloat-abi=soft -mfpu=vfpv3-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.5-a -mfloat-abi=soft -mfpu=fpv4-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.5-a -mfloat-abi=soft -mfpu=fpv5-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.5-a -mfloat-abi=soft -mfpu=fpv5-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.5-a -mfloat-abi=soft -mfpu=fp-armv8-fullfp16-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.5-a -mfloat-abi=soft -mfpu=fp-armv8-fullfp16-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.5-a -mfloat-abi=soft -mfpu=crypto-neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.5-a -mfloat-abi=soft -mfpu=fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.5-a -mfloat-abi=soft -mfpu=neon 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.5-a -mfloat-abi=soft -mfpu=neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.5-a -mfloat-abi=soft -mfpu=neon-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.5-a -mfloat-abi=soft -mfpu=neon-vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.5-a -mfloat-abi=soft -mfpu=vfp 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.5-a -mfloat-abi=soft -mfpu=vfpv2 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.5-a -mfloat-abi=soft -mfpu=vfpv3 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.5-a -mfloat-abi=soft -mfpu=vfpv3-d16-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.5-a -mfloat-abi=soft -mfpu=vfpv3-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.5-a -mfloat-abi=soft -mfpu=vfpv3xd 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.5-a -mfloat-abi=soft -mfpu=vfpv3xd-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.5-a -mfloat-abi=soft -mfpu=vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.5-a -mfloat-abi=soft -mfpu=vfpv4-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.5-a -mfloat-abi=softfp -mfpu=none 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.5-a -mfloat-abi=softfp 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.5-a -mfloat-abi=softfp -mfpu=vfpv3-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.5-a -mfloat-abi=softfp -mfpu=fpv5-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.5-a -mfloat-abi=softfp -mfpu=fp-armv8-fullfp16-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.5-a -mfloat-abi=softfp -mfpu=crypto-neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.5-a -mfloat-abi=softfp -mfpu=fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.5-a -mfloat-abi=softfp -mfpu=neon 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.5-a -mfloat-abi=softfp -mfpu=neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.5-a -mfloat-abi=softfp -mfpu=neon-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.5-a -mfloat-abi=softfp -mfpu=neon-vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.5-a -mfloat-abi=softfp -mfpu=vfpv3 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.5-a -mfloat-abi=softfp -mfpu=vfpv3-d16-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.5-a -mfloat-abi=softfp -mfpu=vfpv3-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.5-a -mfloat-abi=softfp -mfpu=vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv9.5-a -mfloat-abi=softfp -mfpu=vfpv4-d16 2>&1 | FileCheck %s --match-full-lines + +# CHECK-NOT: error +# CHECK-NOT: warning diff --git a/test/multilib/arm_m_supported_variants.test b/test/multilib/arm_m_supported_variants.test new file mode 100644 index 00000000..f086bd66 --- /dev/null +++ b/test/multilib/arm_m_supported_variants.test @@ -0,0 +1,695 @@ +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv6-m -mfpu=none 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv6-m 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv6-m -mfloat-abi=soft -mfpu=none 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv6-m -mfloat-abi=soft 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv6-m -mfloat-abi=soft -mfpu=vfpv3-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv6-m -mfloat-abi=soft -mfpu=fpv4-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv6-m -mfloat-abi=soft -mfpu=fpv5-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv6-m -mfloat-abi=soft -mfpu=fpv5-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv6-m -mfloat-abi=soft -mfpu=fp-armv8-fullfp16-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv6-m -mfloat-abi=soft -mfpu=fp-armv8-fullfp16-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv6-m -mfloat-abi=soft -mfpu=crypto-neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv6-m -mfloat-abi=soft -mfpu=fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv6-m -mfloat-abi=soft -mfpu=neon 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv6-m -mfloat-abi=soft -mfpu=neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv6-m -mfloat-abi=soft -mfpu=neon-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv6-m -mfloat-abi=soft -mfpu=neon-vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv6-m -mfloat-abi=soft -mfpu=vfp 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv6-m -mfloat-abi=soft -mfpu=vfpv2 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv6-m -mfloat-abi=soft -mfpu=vfpv3 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv6-m -mfloat-abi=soft -mfpu=vfpv3-d16-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv6-m -mfloat-abi=soft -mfpu=vfpv3-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv6-m -mfloat-abi=soft -mfpu=vfpv3xd 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv6-m -mfloat-abi=soft -mfpu=vfpv3xd-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv6-m -mfloat-abi=soft -mfpu=vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv6-m -mfloat-abi=soft -mfpu=vfpv4-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv6-m -mfloat-abi=softfp -mfpu=none 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv6-m -mfloat-abi=softfp 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7e-m -mfpu=none 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7e-m 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7e-m -mfpu=fpv4-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7e-m -mfpu=fpv5-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7e-m -mfpu=fpv5-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7e-m -mfpu=fp-armv8-fullfp16-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7e-m -mfpu=fp-armv8-fullfp16-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7e-m -mfpu=fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7e-m -mfpu=neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7e-m -mfpu=neon-vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7e-m -mfpu=vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7e-m -mfpu=vfpv4-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7e-m -mfloat-abi=hard 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7e-m -mfloat-abi=hard -mfpu=fpv4-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7e-m -mfloat-abi=hard -mfpu=fpv5-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7e-m -mfloat-abi=hard -mfpu=fpv5-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7e-m -mfloat-abi=hard -mfpu=fp-armv8-fullfp16-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7e-m -mfloat-abi=hard -mfpu=fp-armv8-fullfp16-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7e-m -mfloat-abi=hard -mfpu=fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7e-m -mfloat-abi=hard -mfpu=neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7e-m -mfloat-abi=hard -mfpu=neon-vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7e-m -mfloat-abi=hard -mfpu=vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7e-m -mfloat-abi=hard -mfpu=vfpv4-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7e-m -mfloat-abi=soft -mfpu=none 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7e-m -mfloat-abi=soft 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7e-m -mfloat-abi=soft -mfpu=vfpv3-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7e-m -mfloat-abi=soft -mfpu=fpv4-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7e-m -mfloat-abi=soft -mfpu=fpv5-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7e-m -mfloat-abi=soft -mfpu=fpv5-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7e-m -mfloat-abi=soft -mfpu=fp-armv8-fullfp16-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7e-m -mfloat-abi=soft -mfpu=fp-armv8-fullfp16-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7e-m -mfloat-abi=soft -mfpu=crypto-neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7e-m -mfloat-abi=soft -mfpu=fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7e-m -mfloat-abi=soft -mfpu=neon 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7e-m -mfloat-abi=soft -mfpu=neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7e-m -mfloat-abi=soft -mfpu=neon-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7e-m -mfloat-abi=soft -mfpu=neon-vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7e-m -mfloat-abi=soft -mfpu=vfp 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7e-m -mfloat-abi=soft -mfpu=vfpv2 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7e-m -mfloat-abi=soft -mfpu=vfpv3 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7e-m -mfloat-abi=soft -mfpu=vfpv3-d16-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7e-m -mfloat-abi=soft -mfpu=vfpv3-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7e-m -mfloat-abi=soft -mfpu=vfpv3xd 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7e-m -mfloat-abi=soft -mfpu=vfpv3xd-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7e-m -mfloat-abi=soft -mfpu=vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7e-m -mfloat-abi=soft -mfpu=vfpv4-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7e-m -mfloat-abi=softfp -mfpu=none 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7e-m -mfloat-abi=softfp 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7e-m -mfloat-abi=softfp -mfpu=fpv4-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7e-m -mfloat-abi=softfp -mfpu=fpv5-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7e-m -mfloat-abi=softfp -mfpu=fpv5-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7e-m -mfloat-abi=softfp -mfpu=fp-armv8-fullfp16-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7e-m -mfloat-abi=softfp -mfpu=fp-armv8-fullfp16-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7e-m -mfloat-abi=softfp -mfpu=fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7e-m -mfloat-abi=softfp -mfpu=neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7e-m -mfloat-abi=softfp -mfpu=neon-vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7e-m -mfloat-abi=softfp -mfpu=vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7e-m -mfloat-abi=softfp -mfpu=vfpv4-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-m -mfpu=none 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-m 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-m -mfpu=fpv4-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-m -mfpu=fpv5-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-m -mfpu=fpv5-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-m -mfpu=fp-armv8-fullfp16-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-m -mfpu=fp-armv8-fullfp16-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-m -mfpu=fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-m -mfpu=neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-m -mfpu=neon-vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-m -mfpu=vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-m -mfpu=vfpv4-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-m -mfloat-abi=hard -mfpu=fpv4-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-m -mfloat-abi=hard -mfpu=fpv5-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-m -mfloat-abi=hard -mfpu=fpv5-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-m -mfloat-abi=hard -mfpu=fp-armv8-fullfp16-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-m -mfloat-abi=hard -mfpu=fp-armv8-fullfp16-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-m -mfloat-abi=hard -mfpu=fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-m -mfloat-abi=hard -mfpu=neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-m -mfloat-abi=hard -mfpu=neon-vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-m -mfloat-abi=hard -mfpu=vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-m -mfloat-abi=hard -mfpu=vfpv4-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-m -mfloat-abi=soft -mfpu=none 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-m -mfloat-abi=soft 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-m -mfloat-abi=soft -mfpu=vfpv3-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-m -mfloat-abi=soft -mfpu=fpv4-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-m -mfloat-abi=soft -mfpu=fpv5-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-m -mfloat-abi=soft -mfpu=fpv5-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-m -mfloat-abi=soft -mfpu=fp-armv8-fullfp16-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-m -mfloat-abi=soft -mfpu=fp-armv8-fullfp16-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-m -mfloat-abi=soft -mfpu=crypto-neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-m -mfloat-abi=soft -mfpu=fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-m -mfloat-abi=soft -mfpu=neon 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-m -mfloat-abi=soft -mfpu=neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-m -mfloat-abi=soft -mfpu=neon-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-m -mfloat-abi=soft -mfpu=neon-vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-m -mfloat-abi=soft -mfpu=vfp 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-m -mfloat-abi=soft -mfpu=vfpv2 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-m -mfloat-abi=soft -mfpu=vfpv3 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-m -mfloat-abi=soft -mfpu=vfpv3-d16-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-m -mfloat-abi=soft -mfpu=vfpv3-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-m -mfloat-abi=soft -mfpu=vfpv3xd 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-m -mfloat-abi=soft -mfpu=vfpv3xd-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-m -mfloat-abi=soft -mfpu=vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-m -mfloat-abi=soft -mfpu=vfpv4-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-m -mfloat-abi=softfp -mfpu=none 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-m -mfloat-abi=softfp 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-m -mfloat-abi=softfp -mfpu=fpv4-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-m -mfloat-abi=softfp -mfpu=fpv5-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-m -mfloat-abi=softfp -mfpu=fpv5-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-m -mfloat-abi=softfp -mfpu=fp-armv8-fullfp16-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-m -mfloat-abi=softfp -mfpu=fp-armv8-fullfp16-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-m -mfloat-abi=softfp -mfpu=fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-m -mfloat-abi=softfp -mfpu=neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-m -mfloat-abi=softfp -mfpu=neon-vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-m -mfloat-abi=softfp -mfpu=vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-m -mfloat-abi=softfp -mfpu=vfpv4-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-m.base -mfpu=none 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-m.base 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-m.base -mfloat-abi=soft -mfpu=none 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-m.base -mfloat-abi=soft 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-m.base -mfloat-abi=soft -mfpu=vfpv3-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-m.base -mfloat-abi=soft -mfpu=fpv4-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-m.base -mfloat-abi=soft -mfpu=fpv5-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-m.base -mfloat-abi=soft -mfpu=fpv5-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-m.base -mfloat-abi=soft -mfpu=fp-armv8-fullfp16-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-m.base -mfloat-abi=soft -mfpu=fp-armv8-fullfp16-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-m.base -mfloat-abi=soft -mfpu=crypto-neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-m.base -mfloat-abi=soft -mfpu=fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-m.base -mfloat-abi=soft -mfpu=neon 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-m.base -mfloat-abi=soft -mfpu=neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-m.base -mfloat-abi=soft -mfpu=neon-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-m.base -mfloat-abi=soft -mfpu=neon-vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-m.base -mfloat-abi=soft -mfpu=vfp 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-m.base -mfloat-abi=soft -mfpu=vfpv2 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-m.base -mfloat-abi=soft -mfpu=vfpv3 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-m.base -mfloat-abi=soft -mfpu=vfpv3-d16-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-m.base -mfloat-abi=soft -mfpu=vfpv3-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-m.base -mfloat-abi=soft -mfpu=vfpv3xd 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-m.base -mfloat-abi=soft -mfpu=vfpv3xd-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-m.base -mfloat-abi=soft -mfpu=vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-m.base -mfloat-abi=soft -mfpu=vfpv4-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-m.base -mfloat-abi=softfp -mfpu=none 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-m.base -mfloat-abi=softfp 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-m.main -mfpu=none 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-m.main 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-m.main -mfpu=fpv4-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-m.main -mfpu=fpv5-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-m.main -mfpu=fpv5-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-m.main -mfpu=fp-armv8-fullfp16-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-m.main -mfpu=fp-armv8-fullfp16-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-m.main -mfpu=fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-m.main -mfpu=neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-m.main -mfpu=neon-vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-m.main -mfpu=vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-m.main -mfpu=vfpv4-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-m.main -mfloat-abi=hard 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-m.main -mfloat-abi=hard -mfpu=fpv4-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-m.main -mfloat-abi=hard -mfpu=fpv5-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-m.main -mfloat-abi=hard -mfpu=fpv5-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-m.main -mfloat-abi=hard -mfpu=fp-armv8-fullfp16-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-m.main -mfloat-abi=hard -mfpu=fp-armv8-fullfp16-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-m.main -mfloat-abi=hard -mfpu=fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-m.main -mfloat-abi=hard -mfpu=neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-m.main -mfloat-abi=hard -mfpu=neon-vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-m.main -mfloat-abi=hard -mfpu=vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-m.main -mfloat-abi=hard -mfpu=vfpv4-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-m.main -mfloat-abi=soft -mfpu=none 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-m.main -mfloat-abi=soft 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-m.main -mfloat-abi=soft -mfpu=vfpv3-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-m.main -mfloat-abi=soft -mfpu=fpv4-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-m.main -mfloat-abi=soft -mfpu=fpv5-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-m.main -mfloat-abi=soft -mfpu=fpv5-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-m.main -mfloat-abi=soft -mfpu=fp-armv8-fullfp16-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-m.main -mfloat-abi=soft -mfpu=fp-armv8-fullfp16-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-m.main -mfloat-abi=soft -mfpu=crypto-neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-m.main -mfloat-abi=soft -mfpu=fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-m.main -mfloat-abi=soft -mfpu=neon 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-m.main -mfloat-abi=soft -mfpu=neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-m.main -mfloat-abi=soft -mfpu=neon-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-m.main -mfloat-abi=soft -mfpu=neon-vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-m.main -mfloat-abi=soft -mfpu=vfp 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-m.main -mfloat-abi=soft -mfpu=vfpv2 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-m.main -mfloat-abi=soft -mfpu=vfpv3 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-m.main -mfloat-abi=soft -mfpu=vfpv3-d16-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-m.main -mfloat-abi=soft -mfpu=vfpv3-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-m.main -mfloat-abi=soft -mfpu=vfpv3xd 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-m.main -mfloat-abi=soft -mfpu=vfpv3xd-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-m.main -mfloat-abi=soft -mfpu=vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-m.main -mfloat-abi=soft -mfpu=vfpv4-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-m.main -mfloat-abi=softfp -mfpu=none 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-m.main -mfloat-abi=softfp 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-m.main -mfloat-abi=softfp -mfpu=fpv4-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-m.main -mfloat-abi=softfp -mfpu=fpv5-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-m.main -mfloat-abi=softfp -mfpu=fpv5-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-m.main -mfloat-abi=softfp -mfpu=fp-armv8-fullfp16-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-m.main -mfloat-abi=softfp -mfpu=fp-armv8-fullfp16-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-m.main -mfloat-abi=softfp -mfpu=fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-m.main -mfloat-abi=softfp -mfpu=neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-m.main -mfloat-abi=softfp -mfpu=neon-vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-m.main -mfloat-abi=softfp -mfpu=vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-m.main -mfloat-abi=softfp -mfpu=vfpv4-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main -mfpu=none 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main -mfpu=fpv4-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main -mfpu=fpv5-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main -mfpu=fpv5-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main -mfpu=fp-armv8-fullfp16-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main -mfpu=fp-armv8-fullfp16-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main -mfpu=fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main -mfpu=neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main -mfpu=neon-vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main -mfpu=vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main -mfpu=vfpv4-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main -mfloat-abi=hard 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main -mfloat-abi=hard -mfpu=fpv4-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main -mfloat-abi=hard -mfpu=fpv5-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main -mfloat-abi=hard -mfpu=fpv5-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main -mfloat-abi=hard -mfpu=fp-armv8-fullfp16-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main -mfloat-abi=hard -mfpu=fp-armv8-fullfp16-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main -mfloat-abi=hard -mfpu=fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main -mfloat-abi=hard -mfpu=neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main -mfloat-abi=hard -mfpu=neon-vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main -mfloat-abi=hard -mfpu=vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main -mfloat-abi=hard -mfpu=vfpv4-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main -mfloat-abi=soft -mfpu=none 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main -mfloat-abi=soft 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main -mfloat-abi=soft -mfpu=vfpv3-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main -mfloat-abi=soft -mfpu=fpv4-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main -mfloat-abi=soft -mfpu=fpv5-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main -mfloat-abi=soft -mfpu=fpv5-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main -mfloat-abi=soft -mfpu=fp-armv8-fullfp16-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main -mfloat-abi=soft -mfpu=fp-armv8-fullfp16-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main -mfloat-abi=soft -mfpu=crypto-neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main -mfloat-abi=soft -mfpu=fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main -mfloat-abi=soft -mfpu=neon 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main -mfloat-abi=soft -mfpu=neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main -mfloat-abi=soft -mfpu=neon-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main -mfloat-abi=soft -mfpu=neon-vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main -mfloat-abi=soft -mfpu=vfp 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main -mfloat-abi=soft -mfpu=vfpv2 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main -mfloat-abi=soft -mfpu=vfpv3 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main -mfloat-abi=soft -mfpu=vfpv3-d16-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main -mfloat-abi=soft -mfpu=vfpv3-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main -mfloat-abi=soft -mfpu=vfpv3xd 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main -mfloat-abi=soft -mfpu=vfpv3xd-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main -mfloat-abi=soft -mfpu=vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main -mfloat-abi=soft -mfpu=vfpv4-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main -mfloat-abi=softfp -mfpu=none 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main -mfloat-abi=softfp 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main -mfloat-abi=softfp -mfpu=fpv4-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main -mfloat-abi=softfp -mfpu=fpv5-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main -mfloat-abi=softfp -mfpu=fpv5-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main -mfloat-abi=softfp -mfpu=fp-armv8-fullfp16-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main -mfloat-abi=softfp -mfpu=fp-armv8-fullfp16-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main -mfloat-abi=softfp -mfpu=fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main -mfloat-abi=softfp -mfpu=neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main -mfloat-abi=softfp -mfpu=neon-vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main -mfloat-abi=softfp -mfpu=vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main -mfloat-abi=softfp -mfpu=vfpv4-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+fp16 -mfpu=none 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+fp16 -mfpu=fpv4-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+fp16 -mfpu=fpv5-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+fp16 -mfpu=fpv5-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+fp16 -mfpu=fp-armv8-fullfp16-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+fp16 -mfpu=fp-armv8-fullfp16-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+fp16 -mfpu=fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+fp16 -mfpu=neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+fp16 -mfpu=neon-vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+fp16 -mfpu=vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+fp16 -mfpu=vfpv4-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+fp16 -mfloat-abi=hard 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+fp16 -mfloat-abi=hard -mfpu=fpv4-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+fp16 -mfloat-abi=hard -mfpu=fpv5-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+fp16 -mfloat-abi=hard -mfpu=fpv5-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+fp16 -mfloat-abi=hard -mfpu=fp-armv8-fullfp16-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+fp16 -mfloat-abi=hard -mfpu=fp-armv8-fullfp16-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+fp16 -mfloat-abi=hard -mfpu=fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+fp16 -mfloat-abi=hard -mfpu=neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+fp16 -mfloat-abi=hard -mfpu=neon-vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+fp16 -mfloat-abi=hard -mfpu=vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+fp16 -mfloat-abi=hard -mfpu=vfpv4-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+fp16 -mfloat-abi=soft -mfpu=none 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+fp16 -mfloat-abi=soft 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+fp16 -mfloat-abi=soft -mfpu=vfpv3-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+fp16 -mfloat-abi=soft -mfpu=fpv4-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+fp16 -mfloat-abi=soft -mfpu=fpv5-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+fp16 -mfloat-abi=soft -mfpu=fpv5-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+fp16 -mfloat-abi=soft -mfpu=fp-armv8-fullfp16-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+fp16 -mfloat-abi=soft -mfpu=fp-armv8-fullfp16-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+fp16 -mfloat-abi=soft -mfpu=crypto-neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+fp16 -mfloat-abi=soft -mfpu=fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+fp16 -mfloat-abi=soft -mfpu=neon 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+fp16 -mfloat-abi=soft -mfpu=neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+fp16 -mfloat-abi=soft -mfpu=neon-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+fp16 -mfloat-abi=soft -mfpu=neon-vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+fp16 -mfloat-abi=soft -mfpu=vfp 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+fp16 -mfloat-abi=soft -mfpu=vfpv2 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+fp16 -mfloat-abi=soft -mfpu=vfpv3 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+fp16 -mfloat-abi=soft -mfpu=vfpv3-d16-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+fp16 -mfloat-abi=soft -mfpu=vfpv3-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+fp16 -mfloat-abi=soft -mfpu=vfpv3xd 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+fp16 -mfloat-abi=soft -mfpu=vfpv3xd-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+fp16 -mfloat-abi=soft -mfpu=vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+fp16 -mfloat-abi=soft -mfpu=vfpv4-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+fp16 -mfloat-abi=softfp -mfpu=none 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+fp16 -mfloat-abi=softfp 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+fp16 -mfloat-abi=softfp -mfpu=fpv4-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+fp16 -mfloat-abi=softfp -mfpu=fpv5-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+fp16 -mfloat-abi=softfp -mfpu=fpv5-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+fp16 -mfloat-abi=softfp -mfpu=fp-armv8-fullfp16-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+fp16 -mfloat-abi=softfp -mfpu=fp-armv8-fullfp16-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+fp16 -mfloat-abi=softfp -mfpu=fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+fp16 -mfloat-abi=softfp -mfpu=neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+fp16 -mfloat-abi=softfp -mfpu=neon-vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+fp16 -mfloat-abi=softfp -mfpu=vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+fp16 -mfloat-abi=softfp -mfpu=vfpv4-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve -mfloat-abi=hard -mfpu=none 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve -mfloat-abi=hard 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve -mfloat-abi=hard -mfpu=fpv4-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve -mfloat-abi=hard -mfpu=fpv5-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve -mfloat-abi=hard -mfpu=fpv5-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve -mfloat-abi=hard -mfpu=fp-armv8-fullfp16-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve -mfloat-abi=hard -mfpu=fp-armv8-fullfp16-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve -mfloat-abi=hard -mfpu=fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve -mfloat-abi=hard -mfpu=neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve -mfloat-abi=hard -mfpu=neon-vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve -mfloat-abi=hard -mfpu=vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve -mfloat-abi=hard -mfpu=vfpv4-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve -mfloat-abi=soft -mfpu=none 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve -mfloat-abi=soft 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve -mfloat-abi=soft -mfpu=vfpv3-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve -mfloat-abi=soft -mfpu=fpv4-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve -mfloat-abi=soft -mfpu=fpv5-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve -mfloat-abi=soft -mfpu=fpv5-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve -mfloat-abi=soft -mfpu=fp-armv8-fullfp16-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve -mfloat-abi=soft -mfpu=fp-armv8-fullfp16-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve -mfloat-abi=soft -mfpu=crypto-neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve -mfloat-abi=soft -mfpu=fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve -mfloat-abi=soft -mfpu=neon 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve -mfloat-abi=soft -mfpu=neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve -mfloat-abi=soft -mfpu=neon-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve -mfloat-abi=soft -mfpu=neon-vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve -mfloat-abi=soft -mfpu=vfp 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve -mfloat-abi=soft -mfpu=vfpv2 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve -mfloat-abi=soft -mfpu=vfpv3 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve -mfloat-abi=soft -mfpu=vfpv3-d16-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve -mfloat-abi=soft -mfpu=vfpv3-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve -mfloat-abi=soft -mfpu=vfpv3xd 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve -mfloat-abi=soft -mfpu=vfpv3xd-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve -mfloat-abi=soft -mfpu=vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve -mfloat-abi=soft -mfpu=vfpv4-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve.fp -mfloat-abi=hard -mfpu=none 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve.fp -mfloat-abi=hard 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve.fp -mfloat-abi=hard -mfpu=fpv4-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve.fp -mfloat-abi=hard -mfpu=fpv5-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve.fp -mfloat-abi=hard -mfpu=fpv5-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve.fp -mfloat-abi=hard -mfpu=fp-armv8-fullfp16-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve.fp -mfloat-abi=hard -mfpu=fp-armv8-fullfp16-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve.fp -mfloat-abi=hard -mfpu=fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve.fp -mfloat-abi=hard -mfpu=neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve.fp -mfloat-abi=hard -mfpu=neon-vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve.fp -mfloat-abi=hard -mfpu=vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve.fp -mfloat-abi=hard -mfpu=vfpv4-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve.fp -mfloat-abi=soft -mfpu=none 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve.fp -mfloat-abi=soft 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve.fp -mfloat-abi=soft -mfpu=vfpv3-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve.fp -mfloat-abi=soft -mfpu=fpv4-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve.fp -mfloat-abi=soft -mfpu=fpv5-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve.fp -mfloat-abi=soft -mfpu=fpv5-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve.fp -mfloat-abi=soft -mfpu=fp-armv8-fullfp16-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve.fp -mfloat-abi=soft -mfpu=fp-armv8-fullfp16-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve.fp -mfloat-abi=soft -mfpu=crypto-neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve.fp -mfloat-abi=soft -mfpu=fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve.fp -mfloat-abi=soft -mfpu=neon 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve.fp -mfloat-abi=soft -mfpu=neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve.fp -mfloat-abi=soft -mfpu=neon-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve.fp -mfloat-abi=soft -mfpu=neon-vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve.fp -mfloat-abi=soft -mfpu=vfp 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve.fp -mfloat-abi=soft -mfpu=vfpv2 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve.fp -mfloat-abi=soft -mfpu=vfpv3 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve.fp -mfloat-abi=soft -mfpu=vfpv3-d16-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve.fp -mfloat-abi=soft -mfpu=vfpv3-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve.fp -mfloat-abi=soft -mfpu=vfpv3xd 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve.fp -mfloat-abi=soft -mfpu=vfpv3xd-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve.fp -mfloat-abi=soft -mfpu=vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve.fp -mfloat-abi=soft -mfpu=vfpv4-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+lob -mfpu=none 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+lob 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+lob -mfpu=fpv4-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+lob -mfpu=fpv5-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+lob -mfpu=fpv5-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+lob -mfpu=fp-armv8-fullfp16-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+lob -mfpu=fp-armv8-fullfp16-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+lob -mfpu=fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+lob -mfpu=neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+lob -mfpu=neon-vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+lob -mfpu=vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+lob -mfpu=vfpv4-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+lob -mfloat-abi=hard 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+lob -mfloat-abi=hard -mfpu=fpv4-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+lob -mfloat-abi=hard -mfpu=fpv5-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+lob -mfloat-abi=hard -mfpu=fpv5-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+lob -mfloat-abi=hard -mfpu=fp-armv8-fullfp16-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+lob -mfloat-abi=hard -mfpu=fp-armv8-fullfp16-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+lob -mfloat-abi=hard -mfpu=fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+lob -mfloat-abi=hard -mfpu=neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+lob -mfloat-abi=hard -mfpu=neon-vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+lob -mfloat-abi=hard -mfpu=vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+lob -mfloat-abi=hard -mfpu=vfpv4-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+lob -mfloat-abi=soft -mfpu=none 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+lob -mfloat-abi=soft 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+lob -mfloat-abi=soft -mfpu=vfpv3-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+lob -mfloat-abi=soft -mfpu=fpv4-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+lob -mfloat-abi=soft -mfpu=fpv5-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+lob -mfloat-abi=soft -mfpu=fpv5-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+lob -mfloat-abi=soft -mfpu=fp-armv8-fullfp16-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+lob -mfloat-abi=soft -mfpu=fp-armv8-fullfp16-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+lob -mfloat-abi=soft -mfpu=crypto-neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+lob -mfloat-abi=soft -mfpu=fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+lob -mfloat-abi=soft -mfpu=neon 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+lob -mfloat-abi=soft -mfpu=neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+lob -mfloat-abi=soft -mfpu=neon-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+lob -mfloat-abi=soft -mfpu=neon-vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+lob -mfloat-abi=soft -mfpu=vfp 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+lob -mfloat-abi=soft -mfpu=vfpv2 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+lob -mfloat-abi=soft -mfpu=vfpv3 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+lob -mfloat-abi=soft -mfpu=vfpv3-d16-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+lob -mfloat-abi=soft -mfpu=vfpv3-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+lob -mfloat-abi=soft -mfpu=vfpv3xd 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+lob -mfloat-abi=soft -mfpu=vfpv3xd-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+lob -mfloat-abi=soft -mfpu=vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+lob -mfloat-abi=soft -mfpu=vfpv4-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+lob -mfloat-abi=softfp -mfpu=none 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+lob -mfloat-abi=softfp 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+lob -mfloat-abi=softfp -mfpu=fpv4-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+lob -mfloat-abi=softfp -mfpu=fpv5-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+lob -mfloat-abi=softfp -mfpu=fpv5-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+lob -mfloat-abi=softfp -mfpu=fp-armv8-fullfp16-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+lob -mfloat-abi=softfp -mfpu=fp-armv8-fullfp16-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+lob -mfloat-abi=softfp -mfpu=fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+lob -mfloat-abi=softfp -mfpu=neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+lob -mfloat-abi=softfp -mfpu=neon-vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+lob -mfloat-abi=softfp -mfpu=vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+lob -mfloat-abi=softfp -mfpu=vfpv4-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+fp16 -mfpu=none 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+fp16 -mfpu=fpv4-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+fp16 -mfpu=fpv5-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+fp16 -mfpu=fpv5-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+fp16 -mfpu=fp-armv8-fullfp16-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+fp16 -mfpu=fp-armv8-fullfp16-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+fp16 -mfpu=fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+fp16 -mfpu=neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+fp16 -mfpu=neon-vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+fp16 -mfpu=vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+fp16 -mfpu=vfpv4-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+fp16 -mfloat-abi=hard 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+fp16 -mfloat-abi=hard -mfpu=fpv4-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+fp16 -mfloat-abi=hard -mfpu=fpv5-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+fp16 -mfloat-abi=hard -mfpu=fpv5-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+fp16 -mfloat-abi=hard -mfpu=fp-armv8-fullfp16-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+fp16 -mfloat-abi=hard -mfpu=fp-armv8-fullfp16-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+fp16 -mfloat-abi=hard -mfpu=fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+fp16 -mfloat-abi=hard -mfpu=neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+fp16 -mfloat-abi=hard -mfpu=neon-vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+fp16 -mfloat-abi=hard -mfpu=vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+fp16 -mfloat-abi=hard -mfpu=vfpv4-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+fp16 -mfloat-abi=soft -mfpu=none 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+fp16 -mfloat-abi=soft 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+fp16 -mfloat-abi=soft -mfpu=vfpv3-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+fp16 -mfloat-abi=soft -mfpu=fpv4-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+fp16 -mfloat-abi=soft -mfpu=fpv5-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+fp16 -mfloat-abi=soft -mfpu=fpv5-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+fp16 -mfloat-abi=soft -mfpu=fp-armv8-fullfp16-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+fp16 -mfloat-abi=soft -mfpu=fp-armv8-fullfp16-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+fp16 -mfloat-abi=soft -mfpu=crypto-neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+fp16 -mfloat-abi=soft -mfpu=fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+fp16 -mfloat-abi=soft -mfpu=neon 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+fp16 -mfloat-abi=soft -mfpu=neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+fp16 -mfloat-abi=soft -mfpu=neon-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+fp16 -mfloat-abi=soft -mfpu=neon-vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+fp16 -mfloat-abi=soft -mfpu=vfp 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+fp16 -mfloat-abi=soft -mfpu=vfpv2 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+fp16 -mfloat-abi=soft -mfpu=vfpv3 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+fp16 -mfloat-abi=soft -mfpu=vfpv3-d16-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+fp16 -mfloat-abi=soft -mfpu=vfpv3-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+fp16 -mfloat-abi=soft -mfpu=vfpv3xd 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+fp16 -mfloat-abi=soft -mfpu=vfpv3xd-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+fp16 -mfloat-abi=soft -mfpu=vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+fp16 -mfloat-abi=soft -mfpu=vfpv4-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+fp16 -mfloat-abi=softfp -mfpu=none 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+fp16 -mfloat-abi=softfp 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+fp16 -mfloat-abi=softfp -mfpu=fpv4-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+fp16 -mfloat-abi=softfp -mfpu=fpv5-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+fp16 -mfloat-abi=softfp -mfpu=fpv5-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+fp16 -mfloat-abi=softfp -mfpu=fp-armv8-fullfp16-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+fp16 -mfloat-abi=softfp -mfpu=fp-armv8-fullfp16-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+fp16 -mfloat-abi=softfp -mfpu=fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+fp16 -mfloat-abi=softfp -mfpu=neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+fp16 -mfloat-abi=softfp -mfpu=neon-vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+fp16 -mfloat-abi=softfp -mfpu=vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+fp16 -mfloat-abi=softfp -mfpu=vfpv4-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve -mfloat-abi=hard -mfpu=none 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve -mfloat-abi=hard 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve -mfloat-abi=hard -mfpu=fpv4-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve -mfloat-abi=hard -mfpu=fpv5-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve -mfloat-abi=hard -mfpu=fpv5-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve -mfloat-abi=hard -mfpu=fp-armv8-fullfp16-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve -mfloat-abi=hard -mfpu=fp-armv8-fullfp16-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve -mfloat-abi=hard -mfpu=fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve -mfloat-abi=hard -mfpu=neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve -mfloat-abi=hard -mfpu=neon-vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve -mfloat-abi=hard -mfpu=vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve -mfloat-abi=hard -mfpu=vfpv4-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve -mfloat-abi=soft -mfpu=none 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve -mfloat-abi=soft 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve -mfloat-abi=soft -mfpu=vfpv3-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve -mfloat-abi=soft -mfpu=fpv4-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve -mfloat-abi=soft -mfpu=fpv5-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve -mfloat-abi=soft -mfpu=fpv5-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve -mfloat-abi=soft -mfpu=fp-armv8-fullfp16-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve -mfloat-abi=soft -mfpu=fp-armv8-fullfp16-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve -mfloat-abi=soft -mfpu=crypto-neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve -mfloat-abi=soft -mfpu=fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve -mfloat-abi=soft -mfpu=neon 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve -mfloat-abi=soft -mfpu=neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve -mfloat-abi=soft -mfpu=neon-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve -mfloat-abi=soft -mfpu=neon-vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve -mfloat-abi=soft -mfpu=vfp 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve -mfloat-abi=soft -mfpu=vfpv2 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve -mfloat-abi=soft -mfpu=vfpv3 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve -mfloat-abi=soft -mfpu=vfpv3-d16-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve -mfloat-abi=soft -mfpu=vfpv3-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve -mfloat-abi=soft -mfpu=vfpv3xd 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve -mfloat-abi=soft -mfpu=vfpv3xd-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve -mfloat-abi=soft -mfpu=vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve -mfloat-abi=soft -mfpu=vfpv4-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve.fp -mfloat-abi=hard -mfpu=none 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve.fp -mfloat-abi=hard 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve.fp -mfloat-abi=hard -mfpu=fpv4-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve.fp -mfloat-abi=hard -mfpu=fpv5-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve.fp -mfloat-abi=hard -mfpu=fpv5-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve.fp -mfloat-abi=hard -mfpu=fp-armv8-fullfp16-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve.fp -mfloat-abi=hard -mfpu=fp-armv8-fullfp16-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve.fp -mfloat-abi=hard -mfpu=fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve.fp -mfloat-abi=hard -mfpu=neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve.fp -mfloat-abi=hard -mfpu=neon-vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve.fp -mfloat-abi=hard -mfpu=vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve.fp -mfloat-abi=hard -mfpu=vfpv4-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve.fp -mfloat-abi=soft -mfpu=none 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve.fp -mfloat-abi=soft 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve.fp -mfloat-abi=soft -mfpu=vfpv3-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve.fp -mfloat-abi=soft -mfpu=fpv4-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve.fp -mfloat-abi=soft -mfpu=fpv5-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve.fp -mfloat-abi=soft -mfpu=fpv5-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve.fp -mfloat-abi=soft -mfpu=fp-armv8-fullfp16-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve.fp -mfloat-abi=soft -mfpu=fp-armv8-fullfp16-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve.fp -mfloat-abi=soft -mfpu=crypto-neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve.fp -mfloat-abi=soft -mfpu=fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve.fp -mfloat-abi=soft -mfpu=neon 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve.fp -mfloat-abi=soft -mfpu=neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve.fp -mfloat-abi=soft -mfpu=neon-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve.fp -mfloat-abi=soft -mfpu=neon-vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve.fp -mfloat-abi=soft -mfpu=vfp 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve.fp -mfloat-abi=soft -mfpu=vfpv2 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve.fp -mfloat-abi=soft -mfpu=vfpv3 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve.fp -mfloat-abi=soft -mfpu=vfpv3-d16-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve.fp -mfloat-abi=soft -mfpu=vfpv3-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve.fp -mfloat-abi=soft -mfpu=vfpv3xd 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve.fp -mfloat-abi=soft -mfpu=vfpv3xd-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve.fp -mfloat-abi=soft -mfpu=vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve.fp -mfloat-abi=soft -mfpu=vfpv4-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve.fp -mfloat-abi=hard -mfpu=none 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve.fp -mfloat-abi=hard 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve.fp -mfloat-abi=hard -mfpu=fpv4-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve.fp -mfloat-abi=hard -mfpu=fpv5-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve.fp -mfloat-abi=hard -mfpu=fpv5-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve.fp -mfloat-abi=hard -mfpu=fp-armv8-fullfp16-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve.fp -mfloat-abi=hard -mfpu=fp-armv8-fullfp16-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve.fp -mfloat-abi=hard -mfpu=fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve.fp -mfloat-abi=hard -mfpu=neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve.fp -mfloat-abi=hard -mfpu=neon-vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve.fp -mfloat-abi=hard -mfpu=vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve.fp -mfloat-abi=hard -mfpu=vfpv4-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve.fp -mfloat-abi=soft -mfpu=none 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve.fp -mfloat-abi=soft 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve.fp -mfloat-abi=soft -mfpu=vfpv3-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve.fp -mfloat-abi=soft -mfpu=fpv4-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve.fp -mfloat-abi=soft -mfpu=fpv5-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve.fp -mfloat-abi=soft -mfpu=fpv5-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve.fp -mfloat-abi=soft -mfpu=fp-armv8-fullfp16-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve.fp -mfloat-abi=soft -mfpu=fp-armv8-fullfp16-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve.fp -mfloat-abi=soft -mfpu=crypto-neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve.fp -mfloat-abi=soft -mfpu=fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve.fp -mfloat-abi=soft -mfpu=neon 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve.fp -mfloat-abi=soft -mfpu=neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve.fp -mfloat-abi=soft -mfpu=neon-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve.fp -mfloat-abi=soft -mfpu=neon-vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve.fp -mfloat-abi=soft -mfpu=vfp 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve.fp -mfloat-abi=soft -mfpu=vfpv2 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve.fp -mfloat-abi=soft -mfpu=vfpv3 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve.fp -mfloat-abi=soft -mfpu=vfpv3-d16-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve.fp -mfloat-abi=soft -mfpu=vfpv3-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve.fp -mfloat-abi=soft -mfpu=vfpv3xd 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve.fp -mfloat-abi=soft -mfpu=vfpv3xd-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve.fp -mfloat-abi=soft -mfpu=vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+mve.fp -mfloat-abi=soft -mfpu=vfpv4-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+lob -mfpu=none 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+lob 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+lob -mfpu=fpv4-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+lob -mfpu=fpv5-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+lob -mfpu=fpv5-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+lob -mfpu=fp-armv8-fullfp16-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+lob -mfpu=fp-armv8-fullfp16-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+lob -mfpu=fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+lob -mfpu=neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+lob -mfpu=neon-vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+lob -mfpu=vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+lob -mfpu=vfpv4-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+lob -mfloat-abi=hard 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+lob -mfloat-abi=hard -mfpu=fpv4-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+lob -mfloat-abi=hard -mfpu=fpv5-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+lob -mfloat-abi=hard -mfpu=fpv5-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+lob -mfloat-abi=hard -mfpu=fp-armv8-fullfp16-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+lob -mfloat-abi=hard -mfpu=fp-armv8-fullfp16-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+lob -mfloat-abi=hard -mfpu=fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+lob -mfloat-abi=hard -mfpu=neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+lob -mfloat-abi=hard -mfpu=neon-vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+lob -mfloat-abi=hard -mfpu=vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+lob -mfloat-abi=hard -mfpu=vfpv4-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+lob -mfloat-abi=soft -mfpu=none 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+lob -mfloat-abi=soft 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+lob -mfloat-abi=soft -mfpu=vfpv3-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+lob -mfloat-abi=soft -mfpu=fpv4-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+lob -mfloat-abi=soft -mfpu=fpv5-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+lob -mfloat-abi=soft -mfpu=fpv5-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+lob -mfloat-abi=soft -mfpu=fp-armv8-fullfp16-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+lob -mfloat-abi=soft -mfpu=fp-armv8-fullfp16-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+lob -mfloat-abi=soft -mfpu=crypto-neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+lob -mfloat-abi=soft -mfpu=fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+lob -mfloat-abi=soft -mfpu=neon 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+lob -mfloat-abi=soft -mfpu=neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+lob -mfloat-abi=soft -mfpu=neon-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+lob -mfloat-abi=soft -mfpu=neon-vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+lob -mfloat-abi=soft -mfpu=vfp 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+lob -mfloat-abi=soft -mfpu=vfpv2 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+lob -mfloat-abi=soft -mfpu=vfpv3 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+lob -mfloat-abi=soft -mfpu=vfpv3-d16-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+lob -mfloat-abi=soft -mfpu=vfpv3-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+lob -mfloat-abi=soft -mfpu=vfpv3xd 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+lob -mfloat-abi=soft -mfpu=vfpv3xd-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+lob -mfloat-abi=soft -mfpu=vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+lob -mfloat-abi=soft -mfpu=vfpv4-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+lob -mfloat-abi=softfp -mfpu=none 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+lob -mfloat-abi=softfp 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+lob -mfloat-abi=softfp -mfpu=fpv4-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+lob -mfloat-abi=softfp -mfpu=fpv5-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+lob -mfloat-abi=softfp -mfpu=fpv5-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+lob -mfloat-abi=softfp -mfpu=fp-armv8-fullfp16-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+lob -mfloat-abi=softfp -mfpu=fp-armv8-fullfp16-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+lob -mfloat-abi=softfp -mfpu=fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+lob -mfloat-abi=softfp -mfpu=neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+lob -mfloat-abi=softfp -mfpu=neon-vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+lob -mfloat-abi=softfp -mfpu=vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8.1-m.main+lob -mfloat-abi=softfp -mfpu=vfpv4-d16 2>&1 | FileCheck %s --match-full-lines + +# CHECK-NOT: error +# CHECK-NOT: warning diff --git a/test/multilib/arm_r_supported_variants.test b/test/multilib/arm_r_supported_variants.test new file mode 100644 index 00000000..0d66a5b4 --- /dev/null +++ b/test/multilib/arm_r_supported_variants.test @@ -0,0 +1,169 @@ +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-r -mfpu=none 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-r 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-r -mfpu=vfpv3-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-r -mfpu=fpv4-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-r -mfpu=fpv5-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-r -mfpu=fpv5-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-r -mfpu=fp-armv8-fullfp16-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-r -mfpu=fp-armv8-fullfp16-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-r -mfpu=fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-r -mfpu=neon 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-r -mfpu=neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-r -mfpu=neon-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-r -mfpu=neon-vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-r -mfpu=vfpv3 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-r -mfpu=vfpv3-d16-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-r -mfpu=vfpv3-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-r -mfpu=vfpv3xd 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-r -mfpu=vfpv3xd-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-r -mfpu=vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-r -mfpu=vfpv4-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-r -mfloat-abi=hard -mfpu=vfpv3-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-r -mfloat-abi=hard -mfpu=fpv4-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-r -mfloat-abi=hard -mfpu=fpv5-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-r -mfloat-abi=hard -mfpu=fpv5-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-r -mfloat-abi=hard -mfpu=fp-armv8-fullfp16-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-r -mfloat-abi=hard -mfpu=fp-armv8-fullfp16-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-r -mfloat-abi=hard -mfpu=fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-r -mfloat-abi=hard -mfpu=neon 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-r -mfloat-abi=hard -mfpu=neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-r -mfloat-abi=hard -mfpu=neon-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-r -mfloat-abi=hard -mfpu=neon-vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-r -mfloat-abi=hard -mfpu=vfpv3 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-r -mfloat-abi=hard -mfpu=vfpv3-d16-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-r -mfloat-abi=hard -mfpu=vfpv3-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-r -mfloat-abi=hard -mfpu=vfpv3xd 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-r -mfloat-abi=hard -mfpu=vfpv3xd-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-r -mfloat-abi=hard -mfpu=vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-r -mfloat-abi=hard -mfpu=vfpv4-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-r -mfloat-abi=soft -mfpu=none 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-r -mfloat-abi=soft 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-r -mfloat-abi=soft -mfpu=vfpv3-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-r -mfloat-abi=soft -mfpu=fpv4-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-r -mfloat-abi=soft -mfpu=fpv5-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-r -mfloat-abi=soft -mfpu=fpv5-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-r -mfloat-abi=soft -mfpu=fp-armv8-fullfp16-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-r -mfloat-abi=soft -mfpu=fp-armv8-fullfp16-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-r -mfloat-abi=soft -mfpu=crypto-neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-r -mfloat-abi=soft -mfpu=fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-r -mfloat-abi=soft -mfpu=neon 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-r -mfloat-abi=soft -mfpu=neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-r -mfloat-abi=soft -mfpu=neon-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-r -mfloat-abi=soft -mfpu=neon-vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-r -mfloat-abi=soft -mfpu=vfp 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-r -mfloat-abi=soft -mfpu=vfpv2 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-r -mfloat-abi=soft -mfpu=vfpv3 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-r -mfloat-abi=soft -mfpu=vfpv3-d16-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-r -mfloat-abi=soft -mfpu=vfpv3-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-r -mfloat-abi=soft -mfpu=vfpv3xd 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-r -mfloat-abi=soft -mfpu=vfpv3xd-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-r -mfloat-abi=soft -mfpu=vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-r -mfloat-abi=soft -mfpu=vfpv4-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-r -mfloat-abi=softfp -mfpu=none 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-r -mfloat-abi=softfp 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-r -mfloat-abi=softfp -mfpu=vfpv3-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-r -mfloat-abi=softfp -mfpu=fpv4-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-r -mfloat-abi=softfp -mfpu=fpv5-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-r -mfloat-abi=softfp -mfpu=fpv5-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-r -mfloat-abi=softfp -mfpu=fp-armv8-fullfp16-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-r -mfloat-abi=softfp -mfpu=fp-armv8-fullfp16-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-r -mfloat-abi=softfp -mfpu=fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-r -mfloat-abi=softfp -mfpu=neon 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-r -mfloat-abi=softfp -mfpu=neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-r -mfloat-abi=softfp -mfpu=neon-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-r -mfloat-abi=softfp -mfpu=neon-vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-r -mfloat-abi=softfp -mfpu=vfpv3 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-r -mfloat-abi=softfp -mfpu=vfpv3-d16-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-r -mfloat-abi=softfp -mfpu=vfpv3-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-r -mfloat-abi=softfp -mfpu=vfpv3xd 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-r -mfloat-abi=softfp -mfpu=vfpv3xd-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-r -mfloat-abi=softfp -mfpu=vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv7-r -mfloat-abi=softfp -mfpu=vfpv4-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-r -mfpu=none 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-r 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-r -mfpu=vfpv3-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-r -mfpu=fpv4-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-r -mfpu=fpv5-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-r -mfpu=fpv5-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-r -mfpu=fp-armv8-fullfp16-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-r -mfpu=fp-armv8-fullfp16-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-r -mfpu=crypto-neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-r -mfpu=fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-r -mfpu=neon 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-r -mfpu=neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-r -mfpu=neon-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-r -mfpu=neon-vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-r -mfpu=vfpv3 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-r -mfpu=vfpv3-d16-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-r -mfpu=vfpv3-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-r -mfpu=vfpv3xd 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-r -mfpu=vfpv3xd-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-r -mfpu=vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-r -mfpu=vfpv4-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-r -mfloat-abi=hard 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-r -mfloat-abi=hard -mfpu=vfpv3-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-r -mfloat-abi=hard -mfpu=fpv4-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-r -mfloat-abi=hard -mfpu=fpv5-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-r -mfloat-abi=hard -mfpu=fpv5-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-r -mfloat-abi=hard -mfpu=fp-armv8-fullfp16-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-r -mfloat-abi=hard -mfpu=fp-armv8-fullfp16-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-r -mfloat-abi=hard -mfpu=crypto-neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-r -mfloat-abi=hard -mfpu=fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-r -mfloat-abi=hard -mfpu=neon 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-r -mfloat-abi=hard -mfpu=neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-r -mfloat-abi=hard -mfpu=neon-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-r -mfloat-abi=hard -mfpu=neon-vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-r -mfloat-abi=hard -mfpu=vfpv3 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-r -mfloat-abi=hard -mfpu=vfpv3-d16-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-r -mfloat-abi=hard -mfpu=vfpv3-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-r -mfloat-abi=hard -mfpu=vfpv3xd 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-r -mfloat-abi=hard -mfpu=vfpv3xd-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-r -mfloat-abi=hard -mfpu=vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-r -mfloat-abi=hard -mfpu=vfpv4-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-r -mfloat-abi=soft -mfpu=none 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-r -mfloat-abi=soft 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-r -mfloat-abi=soft -mfpu=vfpv3-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-r -mfloat-abi=soft -mfpu=fpv4-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-r -mfloat-abi=soft -mfpu=fpv5-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-r -mfloat-abi=soft -mfpu=fpv5-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-r -mfloat-abi=soft -mfpu=fp-armv8-fullfp16-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-r -mfloat-abi=soft -mfpu=fp-armv8-fullfp16-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-r -mfloat-abi=soft -mfpu=crypto-neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-r -mfloat-abi=soft -mfpu=fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-r -mfloat-abi=soft -mfpu=neon 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-r -mfloat-abi=soft -mfpu=neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-r -mfloat-abi=soft -mfpu=neon-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-r -mfloat-abi=soft -mfpu=neon-vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-r -mfloat-abi=soft -mfpu=vfp 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-r -mfloat-abi=soft -mfpu=vfpv2 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-r -mfloat-abi=soft -mfpu=vfpv3 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-r -mfloat-abi=soft -mfpu=vfpv3-d16-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-r -mfloat-abi=soft -mfpu=vfpv3-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-r -mfloat-abi=soft -mfpu=vfpv3xd 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-r -mfloat-abi=soft -mfpu=vfpv3xd-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-r -mfloat-abi=soft -mfpu=vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-r -mfloat-abi=soft -mfpu=vfpv4-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-r -mfloat-abi=softfp -mfpu=none 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-r -mfloat-abi=softfp 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-r -mfloat-abi=softfp -mfpu=vfpv3-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-r -mfloat-abi=softfp -mfpu=fpv4-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-r -mfloat-abi=softfp -mfpu=fpv5-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-r -mfloat-abi=softfp -mfpu=fpv5-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-r -mfloat-abi=softfp -mfpu=fp-armv8-fullfp16-sp-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-r -mfloat-abi=softfp -mfpu=fp-armv8-fullfp16-d16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-r -mfloat-abi=softfp -mfpu=crypto-neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-r -mfloat-abi=softfp -mfpu=fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-r -mfloat-abi=softfp -mfpu=neon 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-r -mfloat-abi=softfp -mfpu=neon-fp-armv8 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-r -mfloat-abi=softfp -mfpu=neon-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-r -mfloat-abi=softfp -mfpu=neon-vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-r -mfloat-abi=softfp -mfpu=vfpv3 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-r -mfloat-abi=softfp -mfpu=vfpv3-d16-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-r -mfloat-abi=softfp -mfpu=vfpv3-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-r -mfloat-abi=softfp -mfpu=vfpv3xd 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-r -mfloat-abi=softfp -mfpu=vfpv3xd-fp16 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-r -mfloat-abi=softfp -mfpu=vfpv4 2>&1 | FileCheck %s --match-full-lines +# RUN: %clang -print-multi-flags-experimental -S -x c -v - '-###' --target=arm-none-eabi -march=armv8-r -mfloat-abi=softfp -mfpu=vfpv4-d16 2>&1 | FileCheck %s --match-full-lines + +# CHECK-NOT: error +# CHECK-NOT: warning