diff --git a/qualcomm-software/embedded-multilib/json/multilib.json b/qualcomm-software/embedded-multilib/json/multilib.json index 05f01d1bddc1..453cddf812ec 100644 --- a/qualcomm-software/embedded-multilib/json/multilib.json +++ b/qualcomm-software/embedded-multilib/json/multilib.json @@ -3,52 +3,52 @@ { "variant": "aarch64a_tlsie", "json": "aarch64a_tlsie.json", - "flags": "--target=aarch64-unknown-none-elf" + "flags": "--target=aarch64-unknown-none-elf -munaligned-access" }, { "variant": "aarch64a_pacret", "json": "aarch64a_pacret.json", - "flags": "--target=aarch64-unknown-none-elf -march=armv8.3-a -mbranch-protection=pac-ret+leaf" + "flags": "--target=aarch64-unknown-none-elf -march=armv8.3-a -mbranch-protection=pac-ret+leaf -munaligned-access" }, { "variant": "aarch64a_pacret_bti", "json": "aarch64a_pacret_bti.json", - "flags": "--target=aarch64-unknown-none-elf -march=armv8.5-a -mbranch-protection=pac-ret+leaf+bti" + "flags": "--target=aarch64-unknown-none-elf -march=armv8.5-a -mbranch-protection=pac-ret+leaf+bti -munaligned-access" }, { "variant": "aarch64a_pacret_bkey_bti_tlsie", "json": "aarch64a_pacret_bkey_bti_tlsie.json", - "flags": "--target=aarch64-unknown-none-elf -march=armv8.5-a -mbranch-protection=pac-ret+leaf+b-key+bti" + "flags": "--target=aarch64-unknown-none-elf -march=armv8.5-a -mbranch-protection=pac-ret+leaf+b-key+bti -munaligned-access" }, { "variant": "aarch64a_soft_nofp_tlsie", "json": "aarch64a_soft_nofp_tlsie.json", - "flags": "--target=aarch64-unknown-none-elf -march=armvX+nofp -march=armvX+nosimd -mabi=aapcs-soft" + "flags": "--target=aarch64-unknown-none-elf -march=armvX+nofp -march=armvX+nosimd -mabi=aapcs-soft -munaligned-access" }, { "variant": "aarch64a_soft_nofp_pacret_bti", "json": "aarch64a_soft_nofp_pacret_bti.json", - "flags": "--target=aarch64-unknown-none-elf -march=armv8.5-a -march=armvX+nofp -march=armvX+nosimd -mbranch-protection=pac-ret+leaf+bti -mabi=aapcs-soft" + "flags": "--target=aarch64-unknown-none-elf -march=armv8.5-a -march=armvX+nofp -march=armvX+nosimd -mbranch-protection=pac-ret+leaf+bti -mabi=aapcs-soft -munaligned-access" }, { "variant": "aarch64a_soft_nofp_pacret_bkey_bti", "json": "aarch64a_soft_nofp_pacret_bkey_bti.json", - "flags": "--target=aarch64-unknown-none-elf -march=armv8.5-a -march=armvX+nofp -march=armvX+nosimd -mbranch-protection=pac-ret+leaf+b-key+bti -mabi=aapcs-soft" + "flags": "--target=aarch64-unknown-none-elf -march=armv8.5-a -march=armvX+nofp -march=armvX+nosimd -mbranch-protection=pac-ret+leaf+b-key+bti -mabi=aapcs-soft -munaligned-access" }, { "variant": "armv7a_soft_neon", "json": "armv7a_soft_neon.json", - "flags": "--target=armv7-unknown-none-eabi -mfpu=neon" + "flags": "--target=armv7-unknown-none-eabi -mfpu=neon -munaligned-access" }, { "variant": "armv7a_soft_nofp", "json": "armv7a_soft_nofp.json", - "flags": "--target=armv7-unknown-none-eabi -mfpu=none" + "flags": "--target=armv7-unknown-none-eabi -mfpu=none -munaligned-access" }, { "variant": "armv8_soft_neon", "json": "armv8_soft_neon.json", - "flags": "--target=armv8a-unknown-none-eabi -mfpu=neon-fp-armv8" + "flags": "--target=armv8a-unknown-none-eabi -mfpu=neon-fp-armv8 -munaligned-access" }, { "variant": "armv7m_soft_nofp", diff --git a/qualcomm-software/embedded-multilib/json/variants/aarch64a_pacret.json b/qualcomm-software/embedded-multilib/json/variants/aarch64a_pacret.json index aefb60f70b67..d8752e723af3 100644 --- a/qualcomm-software/embedded-multilib/json/variants/aarch64a_pacret.json +++ b/qualcomm-software/embedded-multilib/json/variants/aarch64a_pacret.json @@ -3,7 +3,7 @@ "common": { "TARGET_ARCH": "aarch64a", "VARIANT": "aarch64a_pacret", - "COMPILE_FLAGS": "-march=armv8.3a -mbranch-protection=pac-ret+leaf -fPIC", + "COMPILE_FLAGS": "-march=armv8.3a -mbranch-protection=pac-ret+leaf -munaligned-access -fPIC", "ENABLE_EXCEPTIONS": "OFF", "ENABLE_RTTI": "OFF", "TEST_EXECUTOR": "qemu", diff --git a/qualcomm-software/embedded-multilib/json/variants/aarch64a_pacret_bkey_bti_tlsie.json b/qualcomm-software/embedded-multilib/json/variants/aarch64a_pacret_bkey_bti_tlsie.json index a347461a27ba..dfbb57198319 100644 --- a/qualcomm-software/embedded-multilib/json/variants/aarch64a_pacret_bkey_bti_tlsie.json +++ b/qualcomm-software/embedded-multilib/json/variants/aarch64a_pacret_bkey_bti_tlsie.json @@ -3,7 +3,7 @@ "common": { "TARGET_ARCH": "aarch64a", "VARIANT": "aarch64a_pacret_bkey_bti_tlsie", - "COMPILE_FLAGS": "-march=armv8.5a -mbranch-protection=pac-ret+leaf+b-key+bti -fPIC", + "COMPILE_FLAGS": "-march=armv8.5a -mbranch-protection=pac-ret+leaf+b-key+bti -munaligned-access -fPIC", "ENABLE_EXCEPTIONS": "OFF", "ENABLE_RTTI": "OFF", "TEST_EXECUTOR": "qemu", diff --git a/qualcomm-software/embedded-multilib/json/variants/aarch64a_pacret_bti.json b/qualcomm-software/embedded-multilib/json/variants/aarch64a_pacret_bti.json index 08cdab21d77b..3ffb5b3e20f2 100644 --- a/qualcomm-software/embedded-multilib/json/variants/aarch64a_pacret_bti.json +++ b/qualcomm-software/embedded-multilib/json/variants/aarch64a_pacret_bti.json @@ -3,7 +3,7 @@ "common": { "TARGET_ARCH": "aarch64a", "VARIANT": "aarch64a_pacret_bti", - "COMPILE_FLAGS": "-march=armv8.5a -mbranch-protection=pac-ret+leaf+bti -fPIC", + "COMPILE_FLAGS": "-march=armv8.5a -mbranch-protection=pac-ret+leaf+bti -munaligned-access -fPIC", "ENABLE_EXCEPTIONS": "OFF", "ENABLE_RTTI": "OFF", "TEST_EXECUTOR": "qemu", diff --git a/qualcomm-software/embedded-multilib/json/variants/aarch64a_soft_nofp_pacret_bkey_bti.json b/qualcomm-software/embedded-multilib/json/variants/aarch64a_soft_nofp_pacret_bkey_bti.json index bd07c5c8c797..b30f3a671f67 100644 --- a/qualcomm-software/embedded-multilib/json/variants/aarch64a_soft_nofp_pacret_bkey_bti.json +++ b/qualcomm-software/embedded-multilib/json/variants/aarch64a_soft_nofp_pacret_bkey_bti.json @@ -3,7 +3,7 @@ "common": { "TARGET_ARCH": "aarch64a", "VARIANT": "aarch64a_soft_nofp_pacret_bkey_bti", - "COMPILE_FLAGS": "-march=armv8.5a+nofp+nosimd -mbranch-protection=pac-ret+leaf+b-key+bti -mabi=aapcs-soft -fPIC", + "COMPILE_FLAGS": "-march=armv8.5a+nofp+nosimd -mbranch-protection=pac-ret+leaf+b-key+bti -mabi=aapcs-soft -munaligned-access -fPIC", "ENABLE_EXCEPTIONS": "OFF", "ENABLE_RTTI": "OFF", "TEST_EXECUTOR": "qemu", diff --git a/qualcomm-software/embedded-multilib/json/variants/aarch64a_soft_nofp_pacret_bti.json b/qualcomm-software/embedded-multilib/json/variants/aarch64a_soft_nofp_pacret_bti.json index cfe77e916cf7..c15433c9d526 100644 --- a/qualcomm-software/embedded-multilib/json/variants/aarch64a_soft_nofp_pacret_bti.json +++ b/qualcomm-software/embedded-multilib/json/variants/aarch64a_soft_nofp_pacret_bti.json @@ -3,7 +3,7 @@ "common": { "TARGET_ARCH": "aarch64a", "VARIANT": "aarch64a_soft_nofp_pacret_bti", - "COMPILE_FLAGS": "-march=armv8.5a+nofp+nosimd -mbranch-protection=pac-ret+leaf+bti -mabi=aapcs-soft -fPIC", + "COMPILE_FLAGS": "-march=armv8.5a+nofp+nosimd -mbranch-protection=pac-ret+leaf+bti -mabi=aapcs-soft -munaligned-access -fPIC", "ENABLE_EXCEPTIONS": "OFF", "ENABLE_RTTI": "OFF", "TEST_EXECUTOR": "qemu", diff --git a/qualcomm-software/embedded-multilib/json/variants/aarch64a_soft_nofp_tlsie.json b/qualcomm-software/embedded-multilib/json/variants/aarch64a_soft_nofp_tlsie.json index 0fa221f6956d..b3c15df0b161 100644 --- a/qualcomm-software/embedded-multilib/json/variants/aarch64a_soft_nofp_tlsie.json +++ b/qualcomm-software/embedded-multilib/json/variants/aarch64a_soft_nofp_tlsie.json @@ -3,7 +3,7 @@ "common": { "TARGET_ARCH": "aarch64a", "VARIANT": "aarch64a_soft_nofp_tlsie", - "COMPILE_FLAGS": "-march=armv8-a+nofp+nosimd -mabi=aapcs-soft -fPIC", + "COMPILE_FLAGS": "-march=armv8-a+nofp+nosimd -mabi=aapcs-soft -munaligned-access -fPIC", "ENABLE_EXCEPTIONS": "OFF", "ENABLE_RTTI": "OFF", "TEST_EXECUTOR": "qemu", diff --git a/qualcomm-software/embedded-multilib/json/variants/aarch64a_tlsie.json b/qualcomm-software/embedded-multilib/json/variants/aarch64a_tlsie.json index 55f1be57f4c9..8dd1e859a204 100644 --- a/qualcomm-software/embedded-multilib/json/variants/aarch64a_tlsie.json +++ b/qualcomm-software/embedded-multilib/json/variants/aarch64a_tlsie.json @@ -3,7 +3,7 @@ "common": { "TARGET_ARCH": "aarch64a", "VARIANT": "aarch64a_tlsie", - "COMPILE_FLAGS": "-march=armv8-a -fPIC", + "COMPILE_FLAGS": "-march=armv8-a -munaligned-access -fPIC", "ENABLE_EXCEPTIONS": "OFF", "ENABLE_RTTI": "OFF", "TEST_EXECUTOR": "qemu", diff --git a/qualcomm-software/embedded-multilib/json/variants/armv7a_soft_neon.json b/qualcomm-software/embedded-multilib/json/variants/armv7a_soft_neon.json index 210389e28d14..41e6b65b4fb3 100644 --- a/qualcomm-software/embedded-multilib/json/variants/armv7a_soft_neon.json +++ b/qualcomm-software/embedded-multilib/json/variants/armv7a_soft_neon.json @@ -3,7 +3,7 @@ "common": { "TARGET_ARCH": "armv7a", "VARIANT": "armv7a_soft_neon", - "COMPILE_FLAGS": "-mfloat-abi=softfp -march=armv7a -mthumb -mfpu=neon -fPIC", + "COMPILE_FLAGS": "-mfloat-abi=softfp -march=armv7a -mthumb -mfpu=neon -munaligned-access -fPIC", "ENABLE_EXCEPTIONS": "OFF", "ENABLE_RTTI": "OFF", "TEST_EXECUTOR": "qemu", diff --git a/qualcomm-software/embedded-multilib/json/variants/armv7a_soft_nofp.json b/qualcomm-software/embedded-multilib/json/variants/armv7a_soft_nofp.json index 22dbb53efd1a..bab3de182766 100644 --- a/qualcomm-software/embedded-multilib/json/variants/armv7a_soft_nofp.json +++ b/qualcomm-software/embedded-multilib/json/variants/armv7a_soft_nofp.json @@ -3,7 +3,7 @@ "common": { "TARGET_ARCH": "armv7a", "VARIANT": "armv7a_soft_nofp", - "COMPILE_FLAGS": "-mfloat-abi=softfp -march=armv7a -mthumb -mfpu=none -mhwdiv=none -fPIC", + "COMPILE_FLAGS": "-mfloat-abi=softfp -march=armv7a -mthumb -mfpu=none -mhwdiv=none -munaligned-access -fPIC", "ENABLE_EXCEPTIONS": "OFF", "ENABLE_RTTI": "OFF", "TEST_EXECUTOR": "qemu", diff --git a/qualcomm-software/embedded-multilib/json/variants/armv7m_hard_fpv5_d16_nopic.json b/qualcomm-software/embedded-multilib/json/variants/armv7m_hard_fpv5_d16_nopic.json index c752cdbc640c..164b8a474b53 100644 --- a/qualcomm-software/embedded-multilib/json/variants/armv7m_hard_fpv5_d16_nopic.json +++ b/qualcomm-software/embedded-multilib/json/variants/armv7m_hard_fpv5_d16_nopic.json @@ -3,7 +3,7 @@ "common": { "TARGET_ARCH": "armv7m", "VARIANT": "armv7m_hard_fpv5_d16_nopic", - "COMPILE_FLAGS": "-mfloat-abi=hard -march=armv7m -mfpu=fpv5-d16", + "COMPILE_FLAGS": "-mfloat-abi=hard -march=armv7m -mfpu=fpv5-d16 -munaligned-access", "ENABLE_EXCEPTIONS": "OFF", "ENABLE_RTTI": "OFF", "TEST_EXECUTOR": "qemu", diff --git a/qualcomm-software/embedded-multilib/json/variants/armv8_soft_neon.json b/qualcomm-software/embedded-multilib/json/variants/armv8_soft_neon.json index f33e78bf4ebe..1ae2418c2b53 100644 --- a/qualcomm-software/embedded-multilib/json/variants/armv8_soft_neon.json +++ b/qualcomm-software/embedded-multilib/json/variants/armv8_soft_neon.json @@ -3,7 +3,7 @@ "common": { "TARGET_ARCH": "armv8", "VARIANT": "arvm8_soft_neon", - "COMPILE_FLAGS": "-mfloat-abi=softfp -march=armv8 -mthumb -mfpu=neon-fp-armv8 -fPIC", + "COMPILE_FLAGS": "-mfloat-abi=softfp -march=armv8 -mthumb -mfpu=neon-fp-armv8 -munaligned-access -fPIC", "ENABLE_EXCEPTIONS": "OFF", "ENABLE_RTTI": "OFF", "TEST_EXECUTOR": "qemu", diff --git a/qualcomm-software/test/multilib/aarch64.test b/qualcomm-software/test/multilib/aarch64.test index a3377fcdd591..e87824ee78d7 100644 --- a/qualcomm-software/test/multilib/aarch64.test +++ b/qualcomm-software/test/multilib/aarch64.test @@ -4,6 +4,7 @@ # the original multilib. # RUN: %clang -print-multi-directory --target=aarch64-none-elf | FileCheck %s --check-prefix=CHECK-AARCH64 +# RUN: %clang -print-multi-directory --target=aarch64-none-elf -munaligned-access | FileCheck %s --check-prefix=CHECK-AARCH64 # RUN: %clang -print-multi-directory --target=aarch64-none-elf -mcpu=cortex-a53 | FileCheck %s --check-prefix=CHECK-AARCH64 # CHECK-AARCH64: aarch64-none-elf/aarch64a_tlsie{{$}} # CHECK-AARCH64-EMPTY: @@ -40,3 +41,6 @@ # RUN: %clang -print-multi-directory --target=aarch64-none-elf -march=armv8.5a -mgeneral-regs-only -mllvm -aarch64-enable-simd-scalar=false -mbranch-protection=pac-ret+leaf+b-key+bti -mabi=aapcs-soft | FileCheck %s --check-prefix=CHECK-NOFP-PACRET-BKEY-BTI # CHECK-NOFP-PACRET-BKEY-BTI: aarch64-none-elf/aarch64a_soft_nofp_pacret_bkey_bti{{$}} # CHECK-NOFP-PACRET-BKEY-BTI-EMPTY: + +# RUN: %clang -print-multi-directory -print-multi-directory --target=aarch64-none-elf -mno-unaligned-access 2>&1 | FileCheck %s --check-prefix=NOT-FOUND +# NOT-FOUND: warning: no multilib found matching flags diff --git a/qualcomm-software/test/multilib/armv7.test b/qualcomm-software/test/multilib/armv7.test index 4bde58a60dad..fe351fca4367 100644 --- a/qualcomm-software/test/multilib/armv7.test +++ b/qualcomm-software/test/multilib/armv7.test @@ -1,6 +1,7 @@ # RUN: %clang -print-multi-directory --target=arm-none-eabi -march=armv7a -mfloat-abi=softfp -mfpu=neon | FileCheck %s --check-prefix=CHECK-ARMV7 # RUN: %clang -print-multi-directory --target=arm-none-eabi -march=armv7a -mfloat-abi=softfp -marm -mfpu=neon | FileCheck %s --check-prefix=CHECK-ARMV7 # RUN: %clang -print-multi-directory --target=arm-none-eabi -march=armv7a -mfloat-abi=softfp -mthumb -mfpu=neon | FileCheck %s --check-prefix=CHECK-ARMV7 +# RUN: %clang -print-multi-directory --target=arm-none-eabi -march=armv7a -mfloat-abi=softfp -mfpu=neon -munaligned-access | FileCheck %s --check-prefix=CHECK-ARMV7 # CHECK-ARMV7: arm-none-eabi/armv7a_soft_neon{{$}} # CHECK-ARMV7-EMPTY: @@ -9,3 +10,6 @@ # RUN: %clang -print-multi-directory --target=arm-none-eabi -march=armv7a -mfloat-abi=softfp -mthumb -mfpu=none -mhwdiv=none | FileCheck %s --check-prefix=CHECK-ARMV7-NOFP # CHECK-ARMV7-NOFP: arm-none-eabi/armv7a_soft_nofp{{$}} # CHECK-ARMV7-NOFP-EMPTY: + +# RUN: %clang -print-multi-directory --target=arm-none-eabi -march=armv7a -mfloat-abi=softfp -mthumb -mfpu=neon -mno-unaligned-access 2>&1 | FileCheck %s --check-prefix=NOT-FOUND +# NOT-FOUND: warning: no multilib found matching flags diff --git a/qualcomm-software/test/multilib/armv7m.test b/qualcomm-software/test/multilib/armv7m.test index 0a4607f5ed6c..d63b4e01c78b 100644 --- a/qualcomm-software/test/multilib/armv7m.test +++ b/qualcomm-software/test/multilib/armv7m.test @@ -3,6 +3,7 @@ # CHECK-SOFT-NOFP-EMPTY: # RUN: %clang -print-multi-directory --target=armv7m-none-eabihf -mfloat-abi=hard -mfpu=fpv5-d16 -fno-pic | FileCheck %s --check-prefix=CHECK-HARD-FPV5-D16-NOPIC +# RUN: %clang -print-multi-directory --target=armv7m-none-eabihf -mfloat-abi=hard -mfpu=fpv5-d16 -fno-pic -munaligned-access | FileCheck %s --check-prefix=CHECK-HARD-FPV5-D16-NOPIC # RUN: %clang -print-multi-directory --target=armv7em-none-eabihf -mfloat-abi=hard -mfpu=fpv5-d16 -fno-pic | FileCheck %s --check-prefix=CHECK-HARD-FPV5-D16-NOPIC # CHECK-HARD-FPV5-D16-NOPIC: arm-none-eabi/armv7m_hard_fpv5_d16_nopic{{$}} # CHECK-HARD-FPV5-D16-NOPIC-EMPTY: diff --git a/qualcomm-software/test/multilib/armv8.test b/qualcomm-software/test/multilib/armv8.test index 847da6fda0fb..c83dc0452b5d 100644 --- a/qualcomm-software/test/multilib/armv8.test +++ b/qualcomm-software/test/multilib/armv8.test @@ -1,6 +1,7 @@ # RUN: %clang -print-multi-directory --target=arm-none-eabi -march=armv8a -mfloat-abi=softfp -mfpu=neon-fp-armv8 | FileCheck %s --check-prefix=CHECK-ARMV8-SOFT-NEON # RUN: %clang -print-multi-directory --target=arm-none-eabi -march=armv8a -mfloat-abi=softfp -mthumb -mfpu=neon-fp-armv8 | FileCheck %s --check-prefix=CHECK-ARMV8-SOFT-NEON # RUN: %clang -print-multi-directory --target=arm-none-eabi -march=armv8a -mfloat-abi=softfp -marm -mfpu=neon-fp-armv8 | FileCheck %s --check-prefix=CHECK-ARMV8-SOFT-NEON +# RUN: %clang -print-multi-directory --target=arm-none-eabi -march=armv8a -mfloat-abi=softfp -mthumb -mfpu=neon-fp-armv8 -munaligned-access | FileCheck %s --check-prefix=CHECK-ARMV8-SOFT-NEON # CHECK-ARMV8-SOFT-NEON: arm-none-eabi/armv8_soft_neon{{$}} # CHECK-ARMV8-SOFT-NEON-EMPTY: @@ -11,3 +12,6 @@ # RUN: %clang -print-multi-directory --target=arm-none-eabi -march=armv8a -mthumb -mfloat-abi=softfp -mfpu=neon | FileCheck %s --check-prefix=CHECK-ARMV7-SOFT-NEON # CHECK-ARMV7-SOFT-NEON: arm-none-eabi/armv7a_soft_neon{{$}} # CHECK-ARMV7-SOFT-NEON-EMPTY: + +# RUN: %clang -print-multi-directory --target=arm-none-eabi -march=armv8a -mfloat-abi=softfp -mthumb -mfpu=neon-fp-armv8 -mno-unaligned-access 2>&1 | FileCheck %s --check-prefix=NOT-FOUND +# NOT-FOUND: warning: no multilib found matching flags