From 1f15297f2004d603582b3546bdfeb71094e0341a Mon Sep 17 00:00:00 2001 From: Victor Campos Date: Wed, 19 Feb 2025 10:51:29 +0000 Subject: [PATCH] Add AArch32 R-profile big endian variants Add variants and corresponding tests. --- .../embedded/arm-multilib/json/multilib.json | 40 ++++++++++ .../variants/armebv7r_hard_vfpv3_d16.json | 40 ++++++++++ .../armebv7r_hard_vfpv3_d16_exn_rtti.json | 40 ++++++++++ .../json/variants/armebv7r_hard_vfpv3xd.json | 40 ++++++++++ .../armebv7r_hard_vfpv3xd_exn_rtti.json | 40 ++++++++++ .../json/variants/armebv7r_soft_nofp.json | 40 ++++++++++ .../variants/armebv7r_soft_nofp_exn_rtti.json | 40 ++++++++++ .../json/variants/armebv7r_soft_vfpv3xd.json | 40 ++++++++++ .../armebv7r_soft_vfpv3xd_exn_rtti.json | 40 ++++++++++ .../embedded/test/multilib/armv7r.test | 73 +++++++++++++++++++ 10 files changed, 433 insertions(+) create mode 100644 arm-software/embedded/arm-multilib/json/variants/armebv7r_hard_vfpv3_d16.json create mode 100644 arm-software/embedded/arm-multilib/json/variants/armebv7r_hard_vfpv3_d16_exn_rtti.json create mode 100644 arm-software/embedded/arm-multilib/json/variants/armebv7r_hard_vfpv3xd.json create mode 100644 arm-software/embedded/arm-multilib/json/variants/armebv7r_hard_vfpv3xd_exn_rtti.json create mode 100644 arm-software/embedded/arm-multilib/json/variants/armebv7r_soft_nofp.json create mode 100644 arm-software/embedded/arm-multilib/json/variants/armebv7r_soft_nofp_exn_rtti.json create mode 100644 arm-software/embedded/arm-multilib/json/variants/armebv7r_soft_vfpv3xd.json create mode 100644 arm-software/embedded/arm-multilib/json/variants/armebv7r_soft_vfpv3xd_exn_rtti.json diff --git a/arm-software/embedded/arm-multilib/json/multilib.json b/arm-software/embedded/arm-multilib/json/multilib.json index 39d310ed0489..f1e0eea2d8ce 100644 --- a/arm-software/embedded/arm-multilib/json/multilib.json +++ b/arm-software/embedded/arm-multilib/json/multilib.json @@ -244,6 +244,16 @@ "json": "armv7r_soft_nofp.json", "flags": "--target=armv7r-unknown-none-eabi -mfpu=none -fno-exceptions -fno-rtti -mno-unaligned-access" }, + { + "variant": "armebv7r_soft_nofp_exn_rtti", + "json": "armebv7r_soft_nofp_exn_rtti.json", + "flags": "--target=armebv7r-unknown-none-eabi -mfpu=none" + }, + { + "variant": "armebv7r_soft_nofp", + "json": "armebv7r_soft_nofp.json", + "flags": "--target=armebv7r-unknown-none-eabi -mfpu=none -fno-exceptions -fno-rtti" + }, { "variant": "armv7r_hard_vfpv3xd_exn_rtti_unaligned", "json": "armv7r_hard_vfpv3xd_exn_rtti_unaligned.json", @@ -264,6 +274,16 @@ "json": "armv7r_hard_vfpv3xd.json", "flags": "--target=armv7r-unknown-none-eabihf -mfpu=vfpv3xd -fno-exceptions -fno-rtti -mno-unaligned-access" }, + { + "variant": "armebv7r_hard_vfpv3xd_exn_rtti", + "json": "armebv7r_hard_vfpv3xd_exn_rtti.json", + "flags": "--target=armebv7r-unknown-none-eabihf -mfpu=vfpv3xd" + }, + { + "variant": "armebv7r_hard_vfpv3xd", + "json": "armebv7r_hard_vfpv3xd.json", + "flags": "--target=armebv7r-unknown-none-eabihf -mfpu=vfpv3xd -fno-exceptions -fno-rtti" + }, { "variant": "armv7r_hard_vfpv3_d16_exn_rtti_unaligned", "json": "armv7r_hard_vfpv3_d16_exn_rtti_unaligned.json", @@ -284,6 +304,16 @@ "json": "armv7r_hard_vfpv3_d16.json", "flags": "--target=armv7r-unknown-none-eabihf -mfpu=vfpv3-d16 -fno-exceptions -fno-rtti -mno-unaligned-access" }, + { + "variant": "armebv7r_hard_vfpv3_d16_exn_rtti", + "json": "armebv7r_hard_vfpv3_d16_exn_rtti.json", + "flags": "--target=armebv7r-unknown-none-eabihf -mfpu=vfpv3-d16" + }, + { + "variant": "armebv7r_hard_vfpv3_d16", + "json": "armebv7r_hard_vfpv3_d16.json", + "flags": "--target=armebv7r-unknown-none-eabihf -mfpu=vfpv3-d16 -fno-exceptions -fno-rtti" + }, { "variant": "armv7r_soft_vfpv3xd_exn_rtti_unaligned", "json": "armv7r_soft_vfpv3xd_exn_rtti_unaligned.json", @@ -304,6 +334,16 @@ "json": "armv7r_soft_vfpv3xd.json", "flags": "--target=armv7r-unknown-none-eabi -mfpu=vfpv3xd -fno-exceptions -fno-rtti -mno-unaligned-access" }, + { + "variant": "armebv7r_soft_vfpv3xd_exn_rtti", + "json": "armebv7r_soft_vfpv3xd_exn_rtti.json", + "flags": "--target=armebv7r-unknown-none-eabi -mfpu=vfpv3xd" + }, + { + "variant": "armebv7r_soft_vfpv3xd", + "json": "armebv7r_soft_vfpv3xd.json", + "flags": "--target=armebv7r-unknown-none-eabi -mfpu=vfpv3xd -fno-exceptions -fno-rtti" + }, { "variant": "armv7m_soft_fpv4_sp_d16_exn_rtti_unaligned", "json": "armv7m_soft_fpv4_sp_d16_exn_rtti_unaligned.json", diff --git a/arm-software/embedded/arm-multilib/json/variants/armebv7r_hard_vfpv3_d16.json b/arm-software/embedded/arm-multilib/json/variants/armebv7r_hard_vfpv3_d16.json new file mode 100644 index 000000000000..1592918da636 --- /dev/null +++ b/arm-software/embedded/arm-multilib/json/variants/armebv7r_hard_vfpv3_d16.json @@ -0,0 +1,40 @@ +{ + "args": { + "common": { + "TARGET_ARCH": "armv7r", + "VARIANT": "armebv7r_hard_vfpv3_d16", + "COMPILE_FLAGS": "-mfloat-abi=hard -march=armv7r -mbig-endian -mfpu=vfpv3-d16 -mno-unaligned-access", + "ENABLE_EXCEPTIONS": "OFF", + "ENABLE_RTTI": "OFF", + "TEST_EXECUTOR": "fvp", + "FVP_MODEL": "aem-r", + "FVP_CONFIG": "v8r-aarch32 big-endian", + "BOOT_FLASH_ADDRESS": "0x0", + "BOOT_FLASH_SIZE": "0x1000", + "FLASH_ADDRESS": "0x1000", + "FLASH_SIZE": "0xfff000", + "RAM_ADDRESS": "0x1000000", + "RAM_SIZE": "0x1000000", + "STACK_SIZE": "8K" + }, + "picolibc": { + "PICOLIBC_BUILD_TYPE": "release", + "ENABLE_CXX_LIBS": "ON", + "ENABLE_LIBC_TESTS": "ON", + "ENABLE_COMPILER_RT_TESTS": "ON", + "ENABLE_LIBCXX_TESTS": "OFF" + }, + "newlib": { + "ENABLE_CXX_LIBS": "ON", + "ENABLE_LIBC_TESTS": "OFF", + "ENABLE_COMPILER_RT_TESTS": "OFF", + "ENABLE_LIBCXX_TESTS": "OFF" + }, + "llvmlibc": { + "ENABLE_CXX_LIBS": "OFF", + "ENABLE_LIBC_TESTS": "OFF", + "ENABLE_COMPILER_RT_TESTS": "OFF", + "ENABLE_LIBCXX_TESTS": "OFF" + } + } +} diff --git a/arm-software/embedded/arm-multilib/json/variants/armebv7r_hard_vfpv3_d16_exn_rtti.json b/arm-software/embedded/arm-multilib/json/variants/armebv7r_hard_vfpv3_d16_exn_rtti.json new file mode 100644 index 000000000000..61ee83fe8eeb --- /dev/null +++ b/arm-software/embedded/arm-multilib/json/variants/armebv7r_hard_vfpv3_d16_exn_rtti.json @@ -0,0 +1,40 @@ +{ + "args": { + "common": { + "TARGET_ARCH": "armv7r", + "VARIANT": "armebv7r_hard_vfpv3_d16_exn_rtti", + "COMPILE_FLAGS": "-mfloat-abi=hard -march=armv7r -mbig-endian -mfpu=vfpv3-d16 -mno-unaligned-access", + "ENABLE_EXCEPTIONS": "ON", + "ENABLE_RTTI": "ON", + "TEST_EXECUTOR": "fvp", + "FVP_MODEL": "aem-r", + "FVP_CONFIG": "v8r-aarch32 big-endian", + "BOOT_FLASH_ADDRESS": "0x0", + "BOOT_FLASH_SIZE": "0x1000", + "FLASH_ADDRESS": "0x1000", + "FLASH_SIZE": "0xfff000", + "RAM_ADDRESS": "0x1000000", + "RAM_SIZE": "0x1000000", + "STACK_SIZE": "8K" + }, + "picolibc": { + "PICOLIBC_BUILD_TYPE": "release", + "ENABLE_CXX_LIBS": "ON", + "ENABLE_LIBC_TESTS": "ON", + "ENABLE_COMPILER_RT_TESTS": "ON", + "ENABLE_LIBCXX_TESTS": "OFF" + }, + "newlib": { + "ENABLE_CXX_LIBS": "ON", + "ENABLE_LIBC_TESTS": "OFF", + "ENABLE_COMPILER_RT_TESTS": "OFF", + "ENABLE_LIBCXX_TESTS": "OFF" + }, + "llvmlibc": { + "ENABLE_CXX_LIBS": "OFF", + "ENABLE_LIBC_TESTS": "OFF", + "ENABLE_COMPILER_RT_TESTS": "OFF", + "ENABLE_LIBCXX_TESTS": "OFF" + } + } +} diff --git a/arm-software/embedded/arm-multilib/json/variants/armebv7r_hard_vfpv3xd.json b/arm-software/embedded/arm-multilib/json/variants/armebv7r_hard_vfpv3xd.json new file mode 100644 index 000000000000..6107c8bf06de --- /dev/null +++ b/arm-software/embedded/arm-multilib/json/variants/armebv7r_hard_vfpv3xd.json @@ -0,0 +1,40 @@ +{ + "args": { + "common": { + "TARGET_ARCH": "armv7r", + "VARIANT": "armebv7r_hard_vfpv3xd", + "COMPILE_FLAGS": "-mfloat-abi=hard -march=armv7r -mbig-endian -mfpu=vfpv3xd -mno-unaligned-access", + "ENABLE_EXCEPTIONS": "OFF", + "ENABLE_RTTI": "OFF", + "TEST_EXECUTOR": "fvp", + "FVP_MODEL": "aem-r", + "FVP_CONFIG": "v8r-aarch32 big-endian", + "BOOT_FLASH_ADDRESS": "0x0", + "BOOT_FLASH_SIZE": "0x1000", + "FLASH_ADDRESS": "0x1000", + "FLASH_SIZE": "0xfff000", + "RAM_ADDRESS": "0x1000000", + "RAM_SIZE": "0x1000000", + "STACK_SIZE": "8K" + }, + "picolibc": { + "PICOLIBC_BUILD_TYPE": "release", + "ENABLE_CXX_LIBS": "ON", + "ENABLE_LIBC_TESTS": "ON", + "ENABLE_COMPILER_RT_TESTS": "ON", + "ENABLE_LIBCXX_TESTS": "OFF" + }, + "newlib": { + "ENABLE_CXX_LIBS": "ON", + "ENABLE_LIBC_TESTS": "OFF", + "ENABLE_COMPILER_RT_TESTS": "OFF", + "ENABLE_LIBCXX_TESTS": "OFF" + }, + "llvmlibc": { + "ENABLE_CXX_LIBS": "OFF", + "ENABLE_LIBC_TESTS": "OFF", + "ENABLE_COMPILER_RT_TESTS": "OFF", + "ENABLE_LIBCXX_TESTS": "OFF" + } + } +} diff --git a/arm-software/embedded/arm-multilib/json/variants/armebv7r_hard_vfpv3xd_exn_rtti.json b/arm-software/embedded/arm-multilib/json/variants/armebv7r_hard_vfpv3xd_exn_rtti.json new file mode 100644 index 000000000000..b298e0b2db85 --- /dev/null +++ b/arm-software/embedded/arm-multilib/json/variants/armebv7r_hard_vfpv3xd_exn_rtti.json @@ -0,0 +1,40 @@ +{ + "args": { + "common": { + "TARGET_ARCH": "armv7r", + "VARIANT": "armebv7r_hard_vfpv3xd_exn_rtti", + "COMPILE_FLAGS": "-mfloat-abi=hard -march=armv7r -mbig-endian -mfpu=vfpv3xd -mno-unaligned-access", + "ENABLE_EXCEPTIONS": "ON", + "ENABLE_RTTI": "ON", + "TEST_EXECUTOR": "fvp", + "FVP_MODEL": "aem-r", + "FVP_CONFIG": "v8r-aarch32 big-endian", + "BOOT_FLASH_ADDRESS": "0x0", + "BOOT_FLASH_SIZE": "0x1000", + "FLASH_ADDRESS": "0x1000", + "FLASH_SIZE": "0xfff000", + "RAM_ADDRESS": "0x1000000", + "RAM_SIZE": "0x1000000", + "STACK_SIZE": "8K" + }, + "picolibc": { + "PICOLIBC_BUILD_TYPE": "release", + "ENABLE_CXX_LIBS": "ON", + "ENABLE_LIBC_TESTS": "ON", + "ENABLE_COMPILER_RT_TESTS": "ON", + "ENABLE_LIBCXX_TESTS": "OFF" + }, + "newlib": { + "ENABLE_CXX_LIBS": "ON", + "ENABLE_LIBC_TESTS": "OFF", + "ENABLE_COMPILER_RT_TESTS": "OFF", + "ENABLE_LIBCXX_TESTS": "OFF" + }, + "llvmlibc": { + "ENABLE_CXX_LIBS": "OFF", + "ENABLE_LIBC_TESTS": "OFF", + "ENABLE_COMPILER_RT_TESTS": "OFF", + "ENABLE_LIBCXX_TESTS": "OFF" + } + } +} diff --git a/arm-software/embedded/arm-multilib/json/variants/armebv7r_soft_nofp.json b/arm-software/embedded/arm-multilib/json/variants/armebv7r_soft_nofp.json new file mode 100644 index 000000000000..8cceb8111331 --- /dev/null +++ b/arm-software/embedded/arm-multilib/json/variants/armebv7r_soft_nofp.json @@ -0,0 +1,40 @@ +{ + "args": { + "common": { + "TARGET_ARCH": "armv7r", + "VARIANT": "armebv7r_soft_nofp", + "COMPILE_FLAGS": "-mfloat-abi=soft -march=armv7r -mbig-endian -mfpu=none -mno-unaligned-access", + "ENABLE_EXCEPTIONS": "OFF", + "ENABLE_RTTI": "OFF", + "TEST_EXECUTOR": "fvp", + "FVP_MODEL": "aem-r", + "FVP_CONFIG": "v8r-aarch32 big-endian", + "BOOT_FLASH_ADDRESS": "0x0", + "BOOT_FLASH_SIZE": "0x1000", + "FLASH_ADDRESS": "0x1000", + "FLASH_SIZE": "0xfff000", + "RAM_ADDRESS": "0x1000000", + "RAM_SIZE": "0x1000000", + "STACK_SIZE": "8K" + }, + "picolibc": { + "PICOLIBC_BUILD_TYPE": "release", + "ENABLE_CXX_LIBS": "ON", + "ENABLE_LIBC_TESTS": "ON", + "ENABLE_COMPILER_RT_TESTS": "ON", + "ENABLE_LIBCXX_TESTS": "OFF" + }, + "newlib": { + "ENABLE_CXX_LIBS": "ON", + "ENABLE_LIBC_TESTS": "OFF", + "ENABLE_COMPILER_RT_TESTS": "OFF", + "ENABLE_LIBCXX_TESTS": "OFF" + }, + "llvmlibc": { + "ENABLE_CXX_LIBS": "OFF", + "ENABLE_LIBC_TESTS": "OFF", + "ENABLE_COMPILER_RT_TESTS": "OFF", + "ENABLE_LIBCXX_TESTS": "OFF" + } + } +} diff --git a/arm-software/embedded/arm-multilib/json/variants/armebv7r_soft_nofp_exn_rtti.json b/arm-software/embedded/arm-multilib/json/variants/armebv7r_soft_nofp_exn_rtti.json new file mode 100644 index 000000000000..dcafb9886a38 --- /dev/null +++ b/arm-software/embedded/arm-multilib/json/variants/armebv7r_soft_nofp_exn_rtti.json @@ -0,0 +1,40 @@ +{ + "args": { + "common": { + "TARGET_ARCH": "armv7r", + "VARIANT": "armebv7r_soft_nofp_exn_rtti", + "COMPILE_FLAGS": "-mfloat-abi=soft -march=armv7r -mbig-endian -mfpu=none -mno-unaligned-access", + "ENABLE_EXCEPTIONS": "ON", + "ENABLE_RTTI": "ON", + "TEST_EXECUTOR": "fvp", + "FVP_MODEL": "aem-r", + "FVP_CONFIG": "v8r-aarch32 big-endian", + "BOOT_FLASH_ADDRESS": "0x0", + "BOOT_FLASH_SIZE": "0x1000", + "FLASH_ADDRESS": "0x1000", + "FLASH_SIZE": "0xfff000", + "RAM_ADDRESS": "0x1000000", + "RAM_SIZE": "0x1000000", + "STACK_SIZE": "8K" + }, + "picolibc": { + "PICOLIBC_BUILD_TYPE": "release", + "ENABLE_CXX_LIBS": "ON", + "ENABLE_LIBC_TESTS": "ON", + "ENABLE_COMPILER_RT_TESTS": "ON", + "ENABLE_LIBCXX_TESTS": "OFF" + }, + "newlib": { + "ENABLE_CXX_LIBS": "ON", + "ENABLE_LIBC_TESTS": "OFF", + "ENABLE_COMPILER_RT_TESTS": "OFF", + "ENABLE_LIBCXX_TESTS": "OFF" + }, + "llvmlibc": { + "ENABLE_CXX_LIBS": "OFF", + "ENABLE_LIBC_TESTS": "OFF", + "ENABLE_COMPILER_RT_TESTS": "OFF", + "ENABLE_LIBCXX_TESTS": "OFF" + } + } +} diff --git a/arm-software/embedded/arm-multilib/json/variants/armebv7r_soft_vfpv3xd.json b/arm-software/embedded/arm-multilib/json/variants/armebv7r_soft_vfpv3xd.json new file mode 100644 index 000000000000..b8e13e053a79 --- /dev/null +++ b/arm-software/embedded/arm-multilib/json/variants/armebv7r_soft_vfpv3xd.json @@ -0,0 +1,40 @@ +{ + "args": { + "common": { + "TARGET_ARCH": "armv7r", + "VARIANT": "armebv7r_soft_vfpv3xd", + "COMPILE_FLAGS": "-mfloat-abi=softfp -march=armv7r -mbig-endian -mfpu=vfpv3xd -mno-unaligned-access", + "ENABLE_EXCEPTIONS": "OFF", + "ENABLE_RTTI": "OFF", + "TEST_EXECUTOR": "fvp", + "FVP_MODEL": "aem-r", + "FVP_CONFIG": "v8r-aarch32 big-endian", + "BOOT_FLASH_ADDRESS": "0x0", + "BOOT_FLASH_SIZE": "0x1000", + "FLASH_ADDRESS": "0x1000", + "FLASH_SIZE": "0xfff000", + "RAM_ADDRESS": "0x1000000", + "RAM_SIZE": "0x1000000", + "STACK_SIZE": "8K" + }, + "picolibc": { + "PICOLIBC_BUILD_TYPE": "release", + "ENABLE_CXX_LIBS": "ON", + "ENABLE_LIBC_TESTS": "ON", + "ENABLE_COMPILER_RT_TESTS": "ON", + "ENABLE_LIBCXX_TESTS": "OFF" + }, + "newlib": { + "ENABLE_CXX_LIBS": "ON", + "ENABLE_LIBC_TESTS": "OFF", + "ENABLE_COMPILER_RT_TESTS": "OFF", + "ENABLE_LIBCXX_TESTS": "OFF" + }, + "llvmlibc": { + "ENABLE_CXX_LIBS": "OFF", + "ENABLE_LIBC_TESTS": "OFF", + "ENABLE_COMPILER_RT_TESTS": "OFF", + "ENABLE_LIBCXX_TESTS": "OFF" + } + } +} diff --git a/arm-software/embedded/arm-multilib/json/variants/armebv7r_soft_vfpv3xd_exn_rtti.json b/arm-software/embedded/arm-multilib/json/variants/armebv7r_soft_vfpv3xd_exn_rtti.json new file mode 100644 index 000000000000..f889a4b43a85 --- /dev/null +++ b/arm-software/embedded/arm-multilib/json/variants/armebv7r_soft_vfpv3xd_exn_rtti.json @@ -0,0 +1,40 @@ +{ + "args": { + "common": { + "TARGET_ARCH": "armv7r", + "VARIANT": "armebv7r_soft_vfpv3xd_exn_rtti", + "COMPILE_FLAGS": "-mfloat-abi=softfp -march=armv7r -mbig-endian -mfpu=vfpv3xd -mno-unaligned-access", + "ENABLE_EXCEPTIONS": "ON", + "ENABLE_RTTI": "ON", + "TEST_EXECUTOR": "fvp", + "FVP_MODEL": "aem-r", + "FVP_CONFIG": "v8r-aarch32 big-endian", + "BOOT_FLASH_ADDRESS": "0x0", + "BOOT_FLASH_SIZE": "0x1000", + "FLASH_ADDRESS": "0x1000", + "FLASH_SIZE": "0xfff000", + "RAM_ADDRESS": "0x1000000", + "RAM_SIZE": "0x1000000", + "STACK_SIZE": "8K" + }, + "picolibc": { + "PICOLIBC_BUILD_TYPE": "release", + "ENABLE_CXX_LIBS": "ON", + "ENABLE_LIBC_TESTS": "ON", + "ENABLE_COMPILER_RT_TESTS": "ON", + "ENABLE_LIBCXX_TESTS": "OFF" + }, + "newlib": { + "ENABLE_CXX_LIBS": "ON", + "ENABLE_LIBC_TESTS": "OFF", + "ENABLE_COMPILER_RT_TESTS": "OFF", + "ENABLE_LIBCXX_TESTS": "OFF" + }, + "llvmlibc": { + "ENABLE_CXX_LIBS": "OFF", + "ENABLE_LIBC_TESTS": "OFF", + "ENABLE_COMPILER_RT_TESTS": "OFF", + "ENABLE_LIBCXX_TESTS": "OFF" + } + } +} diff --git a/arm-software/embedded/test/multilib/armv7r.test b/arm-software/embedded/test/multilib/armv7r.test index dd700093cdb4..cf77b10f067c 100644 --- a/arm-software/embedded/test/multilib/armv7r.test +++ b/arm-software/embedded/test/multilib/armv7r.test @@ -10,6 +10,15 @@ # NOFP-EXN-RTTI: arm-none-eabi/armv7r_soft_nofp_exn_rtti{{$}} # NOFP-EXN-RTTI-EMPTY: +# RUN: %clang -print-multi-directory --target=armebv7r-none-eabi -mfpu=none -mno-unaligned-access | FileCheck %s --check-prefix=BE-NOFP-EXN-RTTI +# RUN: %clang -print-multi-directory --target=armebv7r-none-eabi -mfpu=none -marm -mno-unaligned-access | FileCheck %s --check-prefix=BE-NOFP-EXN-RTTI +# RUN: %clang -print-multi-directory --target=armebv7r-none-eabi -mfpu=none -mthumb -mno-unaligned-access | FileCheck %s --check-prefix=BE-NOFP-EXN-RTTI +# RUN: %clang -print-multi-directory --target=armebv7r-none-eabi -mfpu=none | FileCheck %s --check-prefix=BE-NOFP-EXN-RTTI +# RUN: %clang -print-multi-directory --target=armebv7r-none-eabi -mfpu=none -marm | FileCheck %s --check-prefix=BE-NOFP-EXN-RTTI +# RUN: %clang -print-multi-directory --target=armebv7r-none-eabi -mfpu=none -mthumb | FileCheck %s --check-prefix=BE-NOFP-EXN-RTTI +# BE-NOFP-EXN-RTTI: arm-none-eabi/armebv7r_soft_nofp_exn_rtti{{$}} +# BE-NOFP-EXN-RTTI-EMPTY: + # RUN: %clang -print-multi-directory --target=armv7r-none-eabi -mfpu=none -fno-exceptions -fno-rtti | FileCheck %s --check-prefix=NOFP-UNALIGNED # RUN: %clang -print-multi-directory --target=armv7r-none-eabi -mfpu=none -fno-exceptions -fno-rtti -marm | FileCheck %s --check-prefix=NOFP-UNALIGNED # RUN: %clang -print-multi-directory --target=armv7r-none-eabi -mfpu=none -fno-exceptions -fno-rtti -mthumb | FileCheck %s --check-prefix=NOFP-UNALIGNED @@ -22,6 +31,15 @@ # NOFP: arm-none-eabi/armv7r_soft_nofp{{$}} # NOFP-EMPTY: +# RUN: %clang -print-multi-directory --target=armebv7r-none-eabi -mfpu=none -fno-exceptions -fno-rtti -mno-unaligned-access | FileCheck %s --check-prefix=BE-NOFP +# RUN: %clang -print-multi-directory --target=armebv7r-none-eabi -mfpu=none -fno-exceptions -fno-rtti -marm -mno-unaligned-access | FileCheck %s --check-prefix=BE-NOFP +# RUN: %clang -print-multi-directory --target=armebv7r-none-eabi -mfpu=none -fno-exceptions -fno-rtti -mthumb -mno-unaligned-access | FileCheck %s --check-prefix=BE-NOFP +# RUN: %clang -print-multi-directory --target=armebv7r-none-eabi -mfpu=none -fno-exceptions -fno-rtti | FileCheck %s --check-prefix=BE-NOFP +# RUN: %clang -print-multi-directory --target=armebv7r-none-eabi -mfpu=none -fno-exceptions -fno-rtti -marm | FileCheck %s --check-prefix=BE-NOFP +# RUN: %clang -print-multi-directory --target=armebv7r-none-eabi -mfpu=none -fno-exceptions -fno-rtti -mthumb | FileCheck %s --check-prefix=BE-NOFP +# BE-NOFP: arm-none-eabi/armebv7r_soft_nofp{{$}} +# BE-NOFP-EMPTY: + # RUN: %clang -print-multi-directory --target=armv7r-none-eabihf -mfpu=vfpv3-d16 | FileCheck --check-prefix=VFPV3-EXN-RTTI-UNALIGNED %s # RUN: %clang -print-multi-directory --target=armv7r-none-eabihf -mfpu=vfpv3-d16 -marm | FileCheck --check-prefix=VFPV3-EXN-RTTI-UNALIGNED %s # RUN: %clang -print-multi-directory --target=armv7r-none-eabihf -mfpu=vfpv3-d16 -mthumb | FileCheck --check-prefix=VFPV3-EXN-RTTI-UNALIGNED %s @@ -34,6 +52,15 @@ # VFPV3-EXN-RTTI: arm-none-eabi/armv7r_hard_vfpv3_d16_exn_rtti{{$}} # VFPV3-EXN-RTTI-EMPTY: +# RUN: %clang -print-multi-directory --target=armebv7r-none-eabihf -mfpu=vfpv3-d16 -mno-unaligned-access | FileCheck --check-prefix=BE-VFPV3-EXN-RTTI %s +# RUN: %clang -print-multi-directory --target=armebv7r-none-eabihf -mfpu=vfpv3-d16 -marm -mno-unaligned-access | FileCheck --check-prefix=BE-VFPV3-EXN-RTTI %s +# RUN: %clang -print-multi-directory --target=armebv7r-none-eabihf -mfpu=vfpv3-d16 -mthumb -mno-unaligned-access | FileCheck --check-prefix=BE-VFPV3-EXN-RTTI %s +# RUN: %clang -print-multi-directory --target=armebv7r-none-eabihf -mfpu=vfpv3-d16 | FileCheck --check-prefix=BE-VFPV3-EXN-RTTI %s +# RUN: %clang -print-multi-directory --target=armebv7r-none-eabihf -mfpu=vfpv3-d16 -marm | FileCheck --check-prefix=BE-VFPV3-EXN-RTTI %s +# RUN: %clang -print-multi-directory --target=armebv7r-none-eabihf -mfpu=vfpv3-d16 -mthumb | FileCheck --check-prefix=BE-VFPV3-EXN-RTTI %s +# BE-VFPV3-EXN-RTTI: arm-none-eabi/armebv7r_hard_vfpv3_d16_exn_rtti{{$}} +# BE-VFPV3-EXN-RTTI-EMPTY: + # RUN: %clang -print-multi-directory --target=armv7r-none-eabihf -mfpu=vfpv3-d16 -fno-exceptions -fno-rtti | FileCheck --check-prefix=VFPV3-UNALIGNED %s # RUN: %clang -print-multi-directory --target=armv7r-none-eabihf -mfpu=vfpv3-d16 -fno-exceptions -fno-rtti -marm | FileCheck --check-prefix=VFPV3-UNALIGNED %s # RUN: %clang -print-multi-directory --target=armv7r-none-eabihf -mfpu=vfpv3-d16 -fno-exceptions -fno-rtti -mthumb | FileCheck --check-prefix=VFPV3-UNALIGNED %s @@ -46,6 +73,15 @@ # VFPV3: arm-none-eabi/armv7r_hard_vfpv3_d16{{$}} # VFPV3-EMPTY: +# RUN: %clang -print-multi-directory --target=armebv7r-none-eabihf -mfpu=vfpv3-d16 -fno-exceptions -fno-rtti -mno-unaligned-access | FileCheck --check-prefix=BE-VFPV3 %s +# RUN: %clang -print-multi-directory --target=armebv7r-none-eabihf -mfpu=vfpv3-d16 -fno-exceptions -fno-rtti -marm -mno-unaligned-access | FileCheck --check-prefix=BE-VFPV3 %s +# RUN: %clang -print-multi-directory --target=armebv7r-none-eabihf -mfpu=vfpv3-d16 -fno-exceptions -fno-rtti -mthumb -mno-unaligned-access | FileCheck --check-prefix=BE-VFPV3 %s +# RUN: %clang -print-multi-directory --target=armebv7r-none-eabihf -mfpu=vfpv3-d16 -fno-exceptions -fno-rtti | FileCheck --check-prefix=BE-VFPV3 %s +# RUN: %clang -print-multi-directory --target=armebv7r-none-eabihf -mfpu=vfpv3-d16 -fno-exceptions -fno-rtti -marm | FileCheck --check-prefix=BE-VFPV3 %s +# RUN: %clang -print-multi-directory --target=armebv7r-none-eabihf -mfpu=vfpv3-d16 -fno-exceptions -fno-rtti -mthumb | FileCheck --check-prefix=BE-VFPV3 %s +# BE-VFPV3: arm-none-eabi/armebv7r_hard_vfpv3_d16{{$}} +# BE-VFPV3-EMPTY: + # RUN: %clang -print-multi-directory --target=armv7r-none-eabihf -mfpu=vfpv3-d16 -mfloat-abi=softfp | FileCheck --check-prefix=SOFT-VFPV3-EXN-RTTI-UNALIGNED %s # RUN: %clang -print-multi-directory --target=armv7r-none-eabihf -mfpu=vfpv3-d16 -marm -mfloat-abi=softfp | FileCheck --check-prefix=SOFT-VFPV3-EXN-RTTI-UNALIGNED %s # RUN: %clang -print-multi-directory --target=armv7r-none-eabihf -mfpu=vfpv3-d16 -mthumb -mfloat-abi=softfp | FileCheck --check-prefix=SOFT-VFPV3-EXN-RTTI-UNALIGNED %s @@ -58,6 +94,15 @@ # SOFT-VFPV3-EXN-RTTI: arm-none-eabi/armv7r_soft_vfpv3xd_exn_rtti{{$}} # SOFT-VFPV3-EXN-RTTI-EMPTY: +# RUN: %clang -print-multi-directory --target=armebv7r-none-eabihf -mfpu=vfpv3-d16 -mfloat-abi=softfp -mno-unaligned-access | FileCheck --check-prefix=BE-SOFT-VFPV3-EXN-RTTI %s +# RUN: %clang -print-multi-directory --target=armebv7r-none-eabihf -mfpu=vfpv3-d16 -marm -mfloat-abi=softfp -mno-unaligned-access | FileCheck --check-prefix=BE-SOFT-VFPV3-EXN-RTTI %s +# RUN: %clang -print-multi-directory --target=armebv7r-none-eabihf -mfpu=vfpv3-d16 -mthumb -mfloat-abi=softfp -mno-unaligned-access | FileCheck --check-prefix=BE-SOFT-VFPV3-EXN-RTTI %s +# RUN: %clang -print-multi-directory --target=armebv7r-none-eabihf -mfpu=vfpv3-d16 -mfloat-abi=softfp | FileCheck --check-prefix=BE-SOFT-VFPV3-EXN-RTTI %s +# RUN: %clang -print-multi-directory --target=armebv7r-none-eabihf -mfpu=vfpv3-d16 -marm -mfloat-abi=softfp | FileCheck --check-prefix=BE-SOFT-VFPV3-EXN-RTTI %s +# RUN: %clang -print-multi-directory --target=armebv7r-none-eabihf -mfpu=vfpv3-d16 -mthumb -mfloat-abi=softfp | FileCheck --check-prefix=BE-SOFT-VFPV3-EXN-RTTI %s +# BE-SOFT-VFPV3-EXN-RTTI: arm-none-eabi/armebv7r_soft_vfpv3xd_exn_rtti{{$}} +# BE-SOFT-VFPV3-EXN-RTTI-EMPTY: + # RUN: %clang -print-multi-directory --target=armv7r-none-eabihf -mfpu=vfpv3-d16 -mfloat-abi=softfp -fno-exceptions -fno-rtti | FileCheck --check-prefix=SOFT-VFPV3-UNALIGNED %s # RUN: %clang -print-multi-directory --target=armv7r-none-eabihf -mfpu=vfpv3-d16 -marm -mfloat-abi=softfp -fno-exceptions -fno-rtti | FileCheck --check-prefix=SOFT-VFPV3-UNALIGNED %s # RUN: %clang -print-multi-directory --target=armv7r-none-eabihf -mfpu=vfpv3-d16 -mthumb -mfloat-abi=softfp -fno-exceptions -fno-rtti | FileCheck --check-prefix=SOFT-VFPV3-UNALIGNED %s @@ -70,6 +115,15 @@ # SOFT-VFPV3: arm-none-eabi/armv7r_soft_vfpv3xd{{$}} # SOFT-VFPV3-EMPTY: +# RUN: %clang -print-multi-directory --target=armebv7r-none-eabihf -mfpu=vfpv3-d16 -mfloat-abi=softfp -fno-exceptions -fno-rtti -mno-unaligned-access | FileCheck --check-prefix=BE-SOFT-VFPV3 %s +# RUN: %clang -print-multi-directory --target=armebv7r-none-eabihf -mfpu=vfpv3-d16 -marm -mfloat-abi=softfp -fno-exceptions -fno-rtti -mno-unaligned-access | FileCheck --check-prefix=BE-SOFT-VFPV3 %s +# RUN: %clang -print-multi-directory --target=armebv7r-none-eabihf -mfpu=vfpv3-d16 -mthumb -mfloat-abi=softfp -fno-exceptions -fno-rtti -mno-unaligned-access | FileCheck --check-prefix=BE-SOFT-VFPV3 %s +# RUN: %clang -print-multi-directory --target=armebv7r-none-eabihf -mfpu=vfpv3-d16 -mfloat-abi=softfp -fno-exceptions -fno-rtti | FileCheck --check-prefix=BE-SOFT-VFPV3 %s +# RUN: %clang -print-multi-directory --target=armebv7r-none-eabihf -mfpu=vfpv3-d16 -marm -mfloat-abi=softfp -fno-exceptions -fno-rtti | FileCheck --check-prefix=BE-SOFT-VFPV3 %s +# RUN: %clang -print-multi-directory --target=armebv7r-none-eabihf -mfpu=vfpv3-d16 -mthumb -mfloat-abi=softfp -fno-exceptions -fno-rtti | FileCheck --check-prefix=BE-SOFT-VFPV3 %s +# BE-SOFT-VFPV3: arm-none-eabi/armebv7r_soft_vfpv3xd{{$}} +# BE-SOFT-VFPV3-EMPTY: + # RUN: %clang -print-multi-directory --target=armv7r-none-eabihf -mfpu=vfpv3xd | FileCheck --check-prefix=VFPV3XD-EXN-RTTI-UNALIGNED %s # RUN: %clang -print-multi-directory --target=armv7r-none-eabihf -mfpu=vfpv3xd -marm | FileCheck --check-prefix=VFPV3XD-EXN-RTTI-UNALIGNED %s # RUN: %clang -print-multi-directory --target=armv7r-none-eabihf -mfpu=vfpv3xd -mthumb | FileCheck --check-prefix=VFPV3XD-EXN-RTTI-UNALIGNED %s @@ -82,6 +136,15 @@ # VFPV3XD-EXN-RTTI: arm-none-eabi/armv7r_hard_vfpv3xd_exn_rtti{{$}} # VFPV3XD-EXN-RTTI-EMPTY: +# RUN: %clang -print-multi-directory --target=armebv7r-none-eabihf -mfpu=vfpv3xd -mno-unaligned-access | FileCheck --check-prefix=BE-VFPV3XD-EXN-RTTI %s +# RUN: %clang -print-multi-directory --target=armebv7r-none-eabihf -mfpu=vfpv3xd -marm -mno-unaligned-access | FileCheck --check-prefix=BE-VFPV3XD-EXN-RTTI %s +# RUN: %clang -print-multi-directory --target=armebv7r-none-eabihf -mfpu=vfpv3xd -mthumb -mno-unaligned-access | FileCheck --check-prefix=BE-VFPV3XD-EXN-RTTI %s +# RUN: %clang -print-multi-directory --target=armebv7r-none-eabihf -mfpu=vfpv3xd | FileCheck --check-prefix=BE-VFPV3XD-EXN-RTTI %s +# RUN: %clang -print-multi-directory --target=armebv7r-none-eabihf -mfpu=vfpv3xd -marm | FileCheck --check-prefix=BE-VFPV3XD-EXN-RTTI %s +# RUN: %clang -print-multi-directory --target=armebv7r-none-eabihf -mfpu=vfpv3xd -mthumb | FileCheck --check-prefix=BE-VFPV3XD-EXN-RTTI %s +# BE-VFPV3XD-EXN-RTTI: arm-none-eabi/armebv7r_hard_vfpv3xd_exn_rtti{{$}} +# BE-VFPV3XD-EXN-RTTI-EMPTY: + # RUN: %clang -print-multi-directory --target=armv7r-none-eabihf -mfpu=vfpv3xd -fno-exceptions -fno-rtti | FileCheck --check-prefix=VFPV3XD-UNALIGNED %s # RUN: %clang -print-multi-directory --target=armv7r-none-eabihf -mfpu=vfpv3xd -fno-exceptions -fno-rtti -marm | FileCheck --check-prefix=VFPV3XD-UNALIGNED %s # RUN: %clang -print-multi-directory --target=armv7r-none-eabihf -mfpu=vfpv3xd -fno-exceptions -fno-rtti -mthumb | FileCheck --check-prefix=VFPV3XD-UNALIGNED %s @@ -93,3 +156,13 @@ # RUN: %clang -print-multi-directory --target=armv7r-none-eabihf -mfpu=vfpv3xd -fno-exceptions -fno-rtti -mthumb -mno-unaligned-access | FileCheck --check-prefix=VFPV3XD %s # VFPV3XD: arm-none-eabi/armv7r_hard_vfpv3xd{{$}} # VFPV3XD-EMPTY: + +# RUN: %clang -print-multi-directory --target=armebv7r-none-eabihf -mfpu=vfpv3xd -fno-exceptions -fno-rtti -mno-unaligned-access | FileCheck --check-prefix=BE-VFPV3XD %s +# RUN: %clang -print-multi-directory --target=armebv7r-none-eabihf -mfpu=vfpv3xd -fno-exceptions -fno-rtti -marm -mno-unaligned-access | FileCheck --check-prefix=BE-VFPV3XD %s +# RUN: %clang -print-multi-directory --target=armebv7r-none-eabihf -mfpu=vfpv3xd -fno-exceptions -fno-rtti -mthumb -mno-unaligned-access | FileCheck --check-prefix=BE-VFPV3XD %s +# RUN: %clang -print-multi-directory --target=armebv7r-none-eabihf -mfpu=vfpv3xd -fno-exceptions -fno-rtti | FileCheck --check-prefix=BE-VFPV3XD %s +# RUN: %clang -print-multi-directory --target=armebv7r-none-eabihf -mfpu=vfpv3xd -fno-exceptions -fno-rtti -marm | FileCheck --check-prefix=BE-VFPV3XD %s +# RUN: %clang -print-multi-directory --target=armebv7r-none-eabihf -mfpu=vfpv3xd -fno-exceptions -fno-rtti -mthumb | FileCheck --check-prefix=BE-VFPV3XD %s +# BE-VFPV3XD: arm-none-eabi/armebv7r_hard_vfpv3xd{{$}} +# BE-VFPV3XD-EMPTY: +