Skip to content

Commit

Permalink
Update to the new naming scheme for AArch64 little endian variants. (#32
Browse files Browse the repository at this point in the history
)

Now all the base variants are with strict alignement. Aligned variants
should not indicate their alignment status in their names, while
unaligned variants must include 'unaligned' in their names. Currently,
for AArch64 little endian, the naming scheme is reversed. And that need
to update to the new naming scheme.
  • Loading branch information
simpal01 authored Jan 17, 2025
1 parent 27a40b8 commit 80c4d75
Show file tree
Hide file tree
Showing 6 changed files with 79 additions and 54 deletions.
16 changes: 8 additions & 8 deletions arm-software/embedded/arm-multilib/json/multilib.json
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
{
"libs": [
{
"variant": "aarch64a_exn_rtti",
"json": "aarch64a_exn_rtti.json",
"variant": "aarch64a_exn_rtti_unaligned",
"json": "aarch64a_exn_rtti_unaligned.json",
"flags": "--target=aarch64-unknown-none-elf"
},
{
"variant": "aarch64a",
"json": "aarch64a.json",
"variant": "aarch64a_unaligned",
"json": "aarch64a_unaligned.json",
"flags": "--target=aarch64-unknown-none-elf -fno-exceptions -fno-rtti"
},
{
Expand All @@ -21,13 +21,13 @@
"flags": "--target=aarch64_be-unknown-none-elf -fno-exceptions -fno-rtti"
},
{
"variant": "aarch64a_strictalign_exn_rtti",
"json": "aarch64a_strictalign_exn_rtti.json",
"variant": "aarch64a_exn_rtti",
"json": "aarch64a_exn_rtti.json",
"flags": "--target=aarch64-unknown-none-elf -mno-unaligned-access"
},
{
"variant": "aarch64a_strictalign",
"json": "aarch64a_strictalign.json",
"variant": "aarch64a",
"json": "aarch64a.json",
"flags": "--target=aarch64-unknown-none-elf -mno-unaligned-access -fno-exceptions -fno-rtti"
},
{
Expand Down
16 changes: 8 additions & 8 deletions arm-software/embedded/arm-multilib/json/variants/aarch64a.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,17 +3,17 @@
"common": {
"TARGET_ARCH": "aarch64a",
"VARIANT": "aarch64a",
"COMPILE_FLAGS": "-march=armv8-a",
"COMPILE_FLAGS": "-march=armv8-a -mno-unaligned-access",
"ENABLE_EXCEPTIONS": "OFF",
"ENABLE_RTTI": "OFF",
"TEST_EXECUTOR": "qemu",
"QEMU_MACHINE": "virt",
"QEMU_CPU": "cortex-a57",
"BOOT_FLASH_ADDRESS": "0x40000000",
"TEST_EXECUTOR": "fvp",
"FVP_MODEL": "aem-a",
"FVP_CONFIG": "v8a-aarch64",
"BOOT_FLASH_ADDRESS": "0x80000000",
"BOOT_FLASH_SIZE": "0x1000",
"FLASH_ADDRESS": "0x40001000",
"FLASH_ADDRESS": "0x80001000",
"FLASH_SIZE": "0xfff000",
"RAM_ADDRESS": "0x41000000",
"RAM_ADDRESS": "0x81000000",
"RAM_SIZE": "0x1000000",
"STACK_SIZE": "8K"
},
Expand All @@ -37,4 +37,4 @@
"ENABLE_LIBCXX_TESTS": "OFF"
}
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -3,17 +3,17 @@
"common": {
"TARGET_ARCH": "aarch64a",
"VARIANT": "aarch64a_exn_rtti",
"COMPILE_FLAGS": "-march=armv8-a",
"COMPILE_FLAGS": "-march=armv8-a -mno-unaligned-access",
"ENABLE_EXCEPTIONS": "ON",
"ENABLE_RTTI": "ON",
"TEST_EXECUTOR": "qemu",
"QEMU_MACHINE": "virt",
"QEMU_CPU": "cortex-a57",
"BOOT_FLASH_ADDRESS": "0x40000000",
"TEST_EXECUTOR": "fvp",
"FVP_MODEL": "aem-a",
"FVP_CONFIG": "v8a-aarch64",
"BOOT_FLASH_ADDRESS": "0x80000000",
"BOOT_FLASH_SIZE": "0x1000",
"FLASH_ADDRESS": "0x40001000",
"FLASH_ADDRESS": "0x80001000",
"FLASH_SIZE": "0xfff000",
"RAM_ADDRESS": "0x41000000",
"RAM_ADDRESS": "0x81000000",
"RAM_SIZE": "0x1000000",
"STACK_SIZE": "8K"
},
Expand All @@ -37,4 +37,4 @@
"ENABLE_LIBCXX_TESTS": "OFF"
}
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,18 +2,18 @@
"args": {
"common": {
"TARGET_ARCH": "aarch64a",
"VARIANT": "aarch64a_strictalign_exn_rtti",
"COMPILE_FLAGS": "-march=armv8-a -mno-unaligned-access",
"VARIANT": "aarch64a_exn_rtti_unaligned",
"COMPILE_FLAGS": "-march=armv8-a",
"ENABLE_EXCEPTIONS": "ON",
"ENABLE_RTTI": "ON",
"TEST_EXECUTOR": "fvp",
"FVP_MODEL": "aem-a",
"FVP_CONFIG": "v8a-aarch64",
"BOOT_FLASH_ADDRESS": "0x80000000",
"TEST_EXECUTOR": "qemu",
"QEMU_MACHINE": "virt",
"QEMU_CPU": "cortex-a57",
"BOOT_FLASH_ADDRESS": "0x40000000",
"BOOT_FLASH_SIZE": "0x1000",
"FLASH_ADDRESS": "0x80001000",
"FLASH_ADDRESS": "0x40001000",
"FLASH_SIZE": "0xfff000",
"RAM_ADDRESS": "0x81000000",
"RAM_ADDRESS": "0x41000000",
"RAM_SIZE": "0x1000000",
"STACK_SIZE": "8K"
},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,18 +2,18 @@
"args": {
"common": {
"TARGET_ARCH": "aarch64a",
"VARIANT": "aarch64a_strictalign",
"COMPILE_FLAGS": "-march=armv8-a -mno-unaligned-access",
"VARIANT": "aarch64a_unaligned",
"COMPILE_FLAGS": "-march=armv8-a",
"ENABLE_EXCEPTIONS": "OFF",
"ENABLE_RTTI": "OFF",
"TEST_EXECUTOR": "fvp",
"FVP_MODEL": "aem-a",
"FVP_CONFIG": "v8a-aarch64",
"BOOT_FLASH_ADDRESS": "0x80000000",
"TEST_EXECUTOR": "qemu",
"QEMU_MACHINE": "virt",
"QEMU_CPU": "cortex-a57",
"BOOT_FLASH_ADDRESS": "0x40000000",
"BOOT_FLASH_SIZE": "0x1000",
"FLASH_ADDRESS": "0x80001000",
"FLASH_ADDRESS": "0x40001000",
"FLASH_SIZE": "0xfff000",
"RAM_ADDRESS": "0x81000000",
"RAM_ADDRESS": "0x41000000",
"RAM_SIZE": "0x1000000",
"STACK_SIZE": "8K"
},
Expand Down
53 changes: 39 additions & 14 deletions arm-software/embedded/test/multilib/aarch64.test
Original file line number Diff line number Diff line change
@@ -1,21 +1,46 @@
# RUN: %clang -print-multi-directory --target=aarch64-none-elf | FileCheck %s --check-prefix=AARCH64-EXNRTTI
# RUN: %clang -print-multi-directory --target=aarch64-none-elf -march=armv8-a | FileCheck %s --check-prefix=AARCH64-EXNRTTI
# RUN: %clang -print-multi-directory --target=aarch64-none-elf -march=armv8-a+fp16 | FileCheck %s --check-prefix=AARCH64-EXNRTTI
# RUN: %clang -print-multi-directory --target=aarch64-none-elf -march=armv8.1-a | FileCheck %s --check-prefix=AARCH64-EXNRTTI
# RUN: %clang -print-multi-directory --target=aarch64-none-elf -march=armv8.5-a+nodotprod | FileCheck %s --check-prefix=AARCH64-EXNRTTI
# RUN: %clang -print-multi-directory --target=aarch64-none-elf -march=armv8.9-a | FileCheck %s --check-prefix=AARCH64-EXNRTTI
# RUN: %clang -print-multi-directory --target=aarch64-none-elf -march=armv9.5-a | FileCheck %s --check-prefix=AARCH64-EXNRTTI
# RUN: %clang -print-multi-directory --target=aarch64-none-elf -march=armv9.5-a+sve2+sme2 | FileCheck %s --check-prefix=AARCH64-EXNRTTI
# RUN: %clang -print-multi-directory --target=aarch64-none-elf -mcpu=cortex-a57 | FileCheck %s --check-prefix=AARCH64-EXNRTTI
# RUN: %clang -print-multi-directory --target=aarch64-none-elf -mcpu=cortex-a57+fp16 | FileCheck %s --check-prefix=AARCH64-EXNRTTI
# RUN: %clang -print-multi-directory --target=aarch64-none-elf | FileCheck %s --check-prefix=AARCH64-EXNRTTI-UNALIGNED
# RUN: %clang -print-multi-directory --target=aarch64-none-elf -march=armv8-a | FileCheck %s --check-prefix=AARCH64-EXNRTTI-UNALIGNED
# RUN: %clang -print-multi-directory --target=aarch64-none-elf -march=armv8-a+fp16 | FileCheck %s --check-prefix=AARCH64-EXNRTTI-UNALIGNED
# RUN: %clang -print-multi-directory --target=aarch64-none-elf -march=armv8.1-a | FileCheck %s --check-prefix=AARCH64-EXNRTTI-UNALIGNED
# RUN: %clang -print-multi-directory --target=aarch64-none-elf -march=armv8.5-a+nodotprod | FileCheck %s --check-prefix=AARCH64-EXNRTTI-UNALIGNED
# RUN: %clang -print-multi-directory --target=aarch64-none-elf -march=armv8.9-a | FileCheck %s --check-prefix=AARCH64-EXNRTTI-UNALIGNED
# RUN: %clang -print-multi-directory --target=aarch64-none-elf -march=armv9.5-a | FileCheck %s --check-prefix=AARCH64-EXNRTTI-UNALIGNED
# RUN: %clang -print-multi-directory --target=aarch64-none-elf -march=armv9.5-a+sve2+sme2 | FileCheck %s --check-prefix=AARCH64-EXNRTTI-UNALIGNED
# RUN: %clang -print-multi-directory --target=aarch64-none-elf -mcpu=cortex-a57 | FileCheck %s --check-prefix=AARCH64-EXNRTTI-UNALIGNED
# RUN: %clang -print-multi-directory --target=aarch64-none-elf -mcpu=cortex-a57+fp16 | FileCheck %s --check-prefix=AARCH64-EXNRTTI-UNALIGNED

# AARCH64-EXNRTTI-UNALIGNED: aarch64-none-elf/aarch64a_exn_rtti_unaligned{{$}}
# AARCH64-EXNRTTI-UNALIGNED-EMPTY:

# RUN: %clang -print-multi-directory --target=aarch64-none-elf -fno-exceptions -fno-rtti | FileCheck %s --check-prefix=AARCH64-UNALIGNED
# RUN: %clang -print-multi-directory --target=aarch64-none-elf -march=armv8.5-a+nodotprod -fno-exceptions -fno-rtti | FileCheck %s --check-prefix=AARCH64-UNALIGNED
# RUN: %clang -print-multi-directory --target=aarch64-none-elf -march=armv9.5-a+sve2+sme2 -fno-exceptions -fno-rtti | FileCheck %s --check-prefix=AARCH64-UNALIGNED
# RUN: %clang -print-multi-directory --target=aarch64-none-elf -mcpu=cortex-a57+fp16 -fno-exceptions -fno-rtti | FileCheck %s --check-prefix=AARCH64-UNALIGNED

# AARCH64-UNALIGNED: aarch64-none-elf/aarch64a_unaligned{{$}}
# AARCH64-UNALIGNED-EMPTY:


# Strictalign

# RUN: %clang -print-multi-directory --target=aarch64-none-elf -mno-unaligned-access | FileCheck %s --check-prefix=AARCH64-EXNRTTI
# RUN: %clang -print-multi-directory --target=aarch64-none-elf -march=armv8-a -mno-unaligned-access | FileCheck %s --check-prefix=AARCH64-EXNRTTI
# RUN: %clang -print-multi-directory --target=aarch64-none-elf -march=armv8-a+fp16 -mno-unaligned-access | FileCheck %s --check-prefix=AARCH64-EXNRTTI
# RUN: %clang -print-multi-directory --target=aarch64-none-elf -march=armv8.1-a -mno-unaligned-access | FileCheck %s --check-prefix=AARCH64-EXNRTTI
# RUN: %clang -print-multi-directory --target=aarch64-none-elf -march=armv8.5-a+nodotprod -mno-unaligned-access | FileCheck %s --check-prefix=AARCH64-EXNRTTI
# RUN: %clang -print-multi-directory --target=aarch64-none-elf -march=armv8.9-a -mno-unaligned-access | FileCheck %s --check-prefix=AARCH64-EXNRTTI
# RUN: %clang -print-multi-directory --target=aarch64-none-elf -march=armv9.5-a -mno-unaligned-access | FileCheck %s --check-prefix=AARCH64-EXNRTTI
# RUN: %clang -print-multi-directory --target=aarch64-none-elf -march=armv9.5-a+sve2+sme2 -mno-unaligned-access | FileCheck %s --check-prefix=AARCH64-EXNRTTI
# RUN: %clang -print-multi-directory --target=aarch64-none-elf -mcpu=cortex-a57 -mno-unaligned-access | FileCheck %s --check-prefix=AARCH64-EXNRTTI
# RUN: %clang -print-multi-directory --target=aarch64-none-elf -mcpu=cortex-a57+fp16 -mno-unaligned-access | FileCheck %s --check-prefix=AARCH64-EXNRTTI

# AARCH64-EXNRTTI: aarch64-none-elf/aarch64a_exn_rtti{{$}}
# AARCH64-EXNRTTI-EMPTY:

# RUN: %clang -print-multi-directory --target=aarch64-none-elf -fno-exceptions -fno-rtti | FileCheck %s --check-prefix=AARCH64
# RUN: %clang -print-multi-directory --target=aarch64-none-elf -march=armv8.5-a+nodotprod -fno-exceptions -fno-rtti | FileCheck %s --check-prefix=AARCH64
# RUN: %clang -print-multi-directory --target=aarch64-none-elf -march=armv9.5-a+sve2+sme2 -fno-exceptions -fno-rtti | FileCheck %s --check-prefix=AARCH64
# RUN: %clang -print-multi-directory --target=aarch64-none-elf -mcpu=cortex-a57+fp16 -fno-exceptions -fno-rtti | FileCheck %s --check-prefix=AARCH64
# RUN: %clang -print-multi-directory --target=aarch64-none-elf -fno-exceptions -fno-rtti -mno-unaligned-access | FileCheck %s --check-prefix=AARCH64
# RUN: %clang -print-multi-directory --target=aarch64-none-elf -march=armv8.5-a+nodotprod -fno-exceptions -fno-rtti -mno-unaligned-access | FileCheck %s --check-prefix=AARCH64
# RUN: %clang -print-multi-directory --target=aarch64-none-elf -march=armv9.5-a+sve2+sme2 -fno-exceptions -fno-rtti -mno-unaligned-access | FileCheck %s --check-prefix=AARCH64
# RUN: %clang -print-multi-directory --target=aarch64-none-elf -mcpu=cortex-a57+fp16 -fno-exceptions -fno-rtti -mno-unaligned-access | FileCheck %s --check-prefix=AARCH64

# AARCH64: aarch64-none-elf/aarch64a{{$}}
# AARCH64-EMPTY:
Expand Down

0 comments on commit 80c4d75

Please sign in to comment.