Skip to content

Commit 00c18f8

Browse files
authored
Add armv8r+fp+simd (little endian) variants. (#64)
1 parent 73a2e10 commit 00c18f8

File tree

6 files changed

+204
-0
lines changed

6 files changed

+204
-0
lines changed

arm-software/embedded/arm-multilib/json/multilib.json

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,26 @@
5454
"flags": "--target=aarch64_be-unknown-none-elf -march=armvX+nofp -march=armvX+nosimd -mabi=aapcs-soft -fno-exceptions -fno-rtti",
5555
"libraries_supported": "picolibc,newlib"
5656
},
57+
{
58+
"variant": "aarch64r_exn_rtti_unaligned",
59+
"json": "aarch64r_exn_rtti_unaligned.json",
60+
"flags": "--target=aarch64-unknown-none-elf -march=armv8-r"
61+
},
62+
{
63+
"variant": "aarch64r_unaligned",
64+
"json": "aarch64r_unaligned.json",
65+
"flags": "--target=aarch64-unknown-none-elf -march=armv8-r -fno-exceptions -fno-rtti"
66+
},
67+
{
68+
"variant": "aarch64r_exn_rtti",
69+
"json": "aarch64r_exn_rtti.json",
70+
"flags": "--target=aarch64-unknown-none-elf -march=armv8-r -mno-unaligned-access"
71+
},
72+
{
73+
"variant": "aarch64r",
74+
"json": "aarch64r.json",
75+
"flags": "--target=aarch64-unknown-none-elf -march=armv8-r -fno-exceptions -fno-rtti -mno-unaligned-access"
76+
},
5777
{
5878
"variant": "armv4t_exn_rtti",
5979
"json": "armv4t_exn_rtti.json",
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
{
2+
"args": {
3+
"common": {
4+
"TARGET_ARCH": "aarch64r",
5+
"VARIANT": "aarch64r",
6+
"COMPILE_FLAGS": "-march=armv8-r -mno-unaligned-access",
7+
"ENABLE_EXCEPTIONS": "OFF",
8+
"ENABLE_RTTI": "OFF",
9+
"TEST_EXECUTOR": "fvp",
10+
"FVP_MODEL": "aem-r",
11+
"FVP_CONFIG": "v8r-aarch64",
12+
"BOOT_FLASH_ADDRESS": "0x0",
13+
"BOOT_FLASH_SIZE": "0x1000",
14+
"FLASH_ADDRESS": "0x1000",
15+
"FLASH_SIZE": "0xfff000",
16+
"RAM_ADDRESS": "0x1000000",
17+
"RAM_SIZE": "0x1000000",
18+
"STACK_SIZE": "8K"
19+
},
20+
"picolibc": {
21+
"PICOLIBC_BUILD_TYPE": "release",
22+
"ENABLE_CXX_LIBS": "ON",
23+
"ENABLE_LIBC_TESTS": "ON",
24+
"ENABLE_COMPILER_RT_TESTS": "OFF",
25+
"ENABLE_LIBCXX_TESTS": "OFF"
26+
},
27+
"newlib": {
28+
"ENABLE_CXX_LIBS": "ON",
29+
"ENABLE_LIBC_TESTS": "OFF",
30+
"ENABLE_COMPILER_RT_TESTS": "OFF",
31+
"ENABLE_LIBCXX_TESTS": "OFF"
32+
},
33+
"llvmlibc": {
34+
"ENABLE_CXX_LIBS": "OFF",
35+
"ENABLE_LIBC_TESTS": "OFF",
36+
"ENABLE_COMPILER_RT_TESTS": "OFF",
37+
"ENABLE_LIBCXX_TESTS": "OFF"
38+
}
39+
}
40+
}
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
{
2+
"args": {
3+
"common": {
4+
"TARGET_ARCH": "aarch64r",
5+
"VARIANT": "aarch64r_exn_rtti",
6+
"COMPILE_FLAGS": "-march=armv8-r -mno-unaligned-access",
7+
"ENABLE_EXCEPTIONS": "ON",
8+
"ENABLE_RTTI": "ON",
9+
"TEST_EXECUTOR": "fvp",
10+
"FVP_MODEL": "aem-r",
11+
"FVP_CONFIG": "v8r-aarch64",
12+
"BOOT_FLASH_ADDRESS": "0x0",
13+
"BOOT_FLASH_SIZE": "0x1000",
14+
"FLASH_ADDRESS": "0x1000",
15+
"FLASH_SIZE": "0xfff000",
16+
"RAM_ADDRESS": "0x1000000",
17+
"RAM_SIZE": "0x1000000",
18+
"STACK_SIZE": "8K"
19+
},
20+
"picolibc": {
21+
"PICOLIBC_BUILD_TYPE": "release",
22+
"ENABLE_CXX_LIBS": "ON",
23+
"ENABLE_LIBC_TESTS": "ON",
24+
"ENABLE_COMPILER_RT_TESTS": "OFF",
25+
"ENABLE_LIBCXX_TESTS": "OFF"
26+
},
27+
"newlib": {
28+
"ENABLE_CXX_LIBS": "ON",
29+
"ENABLE_LIBC_TESTS": "OFF",
30+
"ENABLE_COMPILER_RT_TESTS": "OFF",
31+
"ENABLE_LIBCXX_TESTS": "OFF"
32+
},
33+
"llvmlibc": {
34+
"ENABLE_CXX_LIBS": "OFF",
35+
"ENABLE_LIBC_TESTS": "OFF",
36+
"ENABLE_COMPILER_RT_TESTS": "OFF",
37+
"ENABLE_LIBCXX_TESTS": "OFF"
38+
}
39+
}
40+
}
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
{
2+
"args": {
3+
"common": {
4+
"TARGET_ARCH": "aarch64r",
5+
"VARIANT": "aarch64r_exn_rtti_unaligned",
6+
"COMPILE_FLAGS": "-march=armv8-r",
7+
"ENABLE_EXCEPTIONS": "ON",
8+
"ENABLE_RTTI": "ON",
9+
"TEST_EXECUTOR": "fvp",
10+
"FVP_MODEL": "aem-r",
11+
"FVP_CONFIG": "v8r-aarch64",
12+
"BOOT_FLASH_ADDRESS": "0x0",
13+
"BOOT_FLASH_SIZE": "0x1000",
14+
"FLASH_ADDRESS": "0x1000",
15+
"FLASH_SIZE": "0xfff000",
16+
"RAM_ADDRESS": "0x1000000",
17+
"RAM_SIZE": "0x1000000",
18+
"STACK_SIZE": "8K"
19+
},
20+
"picolibc": {
21+
"PICOLIBC_BUILD_TYPE": "release",
22+
"ENABLE_CXX_LIBS": "ON",
23+
"ENABLE_LIBC_TESTS": "ON",
24+
"ENABLE_COMPILER_RT_TESTS": "OFF",
25+
"ENABLE_LIBCXX_TESTS": "OFF"
26+
},
27+
"newlib": {
28+
"ENABLE_CXX_LIBS": "ON",
29+
"ENABLE_LIBC_TESTS": "OFF",
30+
"ENABLE_COMPILER_RT_TESTS": "OFF",
31+
"ENABLE_LIBCXX_TESTS": "OFF"
32+
},
33+
"llvmlibc": {
34+
"ENABLE_CXX_LIBS": "OFF",
35+
"ENABLE_LIBC_TESTS": "OFF",
36+
"ENABLE_COMPILER_RT_TESTS": "OFF",
37+
"ENABLE_LIBCXX_TESTS": "OFF"
38+
}
39+
}
40+
}
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
{
2+
"args": {
3+
"common": {
4+
"TARGET_ARCH": "aarch64r",
5+
"VARIANT": "aarch64r_unaligned",
6+
"COMPILE_FLAGS": "-march=armv8-r",
7+
"ENABLE_EXCEPTIONS": "OFF",
8+
"ENABLE_RTTI": "OFF",
9+
"TEST_EXECUTOR": "fvp",
10+
"FVP_MODEL": "aem-r",
11+
"FVP_CONFIG": "v8r-aarch64",
12+
"BOOT_FLASH_ADDRESS": "0x0",
13+
"BOOT_FLASH_SIZE": "0x1000",
14+
"FLASH_ADDRESS": "0x1000",
15+
"FLASH_SIZE": "0xfff000",
16+
"RAM_ADDRESS": "0x1000000",
17+
"RAM_SIZE": "0x1000000",
18+
"STACK_SIZE": "8K"
19+
},
20+
"picolibc": {
21+
"PICOLIBC_BUILD_TYPE": "release",
22+
"ENABLE_CXX_LIBS": "ON",
23+
"ENABLE_LIBC_TESTS": "ON",
24+
"ENABLE_COMPILER_RT_TESTS": "OFF",
25+
"ENABLE_LIBCXX_TESTS": "OFF"
26+
},
27+
"newlib": {
28+
"ENABLE_CXX_LIBS": "ON",
29+
"ENABLE_LIBC_TESTS": "OFF",
30+
"ENABLE_COMPILER_RT_TESTS": "OFF",
31+
"ENABLE_LIBCXX_TESTS": "OFF"
32+
},
33+
"llvmlibc": {
34+
"ENABLE_CXX_LIBS": "OFF",
35+
"ENABLE_LIBC_TESTS": "OFF",
36+
"ENABLE_COMPILER_RT_TESTS": "OFF",
37+
"ENABLE_LIBCXX_TESTS": "OFF"
38+
}
39+
}
40+
}

arm-software/embedded/test/multilib/aarch64.test

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,18 @@
2020
# AARCH64-UNALIGNED: aarch64-none-elf/aarch64a_unaligned{{$}}
2121
# AARCH64-UNALIGNED-EMPTY:
2222

23+
# RUN: %clang -print-multi-directory --target=aarch64-none-elf -march=armv8-r | FileCheck %s --check-prefix=AARCH64R-EXNRTTI-UNALIGNED
24+
# RUN: %clang -print-multi-directory --target=aarch64-none-elf -mcpu=cortex-r82 | FileCheck %s --check-prefix=AARCH64R-EXNRTTI-UNALIGNED
25+
26+
# AARCH64R-EXNRTTI-UNALIGNED: aarch64-none-elf/aarch64r_exn_rtti_unaligned{{$}}
27+
# AARCH64R-EXNRTTI-UNALIGNED-EMPTY:
28+
29+
# RUN: %clang -print-multi-directory --target=aarch64-none-elf -march=armv8-r -fno-exceptions -fno-rtti | FileCheck %s --check-prefix=AARCH64R-UNALIGNED
30+
# RUN: %clang -print-multi-directory --target=aarch64-none-elf -mcpu=cortex-r82 -fno-exceptions -fno-rtti | FileCheck %s --check-prefix=AARCH64R-UNALIGNED
31+
32+
# AARCH64R-UNALIGNED: aarch64-none-elf/aarch64r_unaligned{{$}}
33+
# AARCH64R-UNALIGNED-EMPTY:
34+
2335

2436
# Strictalign
2537

@@ -45,6 +57,18 @@
4557
# AARCH64: aarch64-none-elf/aarch64a{{$}}
4658
# AARCH64-EMPTY:
4759

60+
# RUN: %clang -print-multi-directory --target=aarch64-none-elf -march=armv8-r -mno-unaligned-access | FileCheck %s --check-prefix=AARCH64R-EXNRTTI
61+
# RUN: %clang -print-multi-directory --target=aarch64-none-elf -mcpu=cortex-r82 -mno-unaligned-access | FileCheck %s --check-prefix=AARCH64R-EXNRTTI
62+
63+
# AARCH64R-EXNRTTI: aarch64-none-elf/aarch64r_exn_rtti{{$}}
64+
# AARCH64R-EXNRTTI-EMPTY:
65+
66+
# RUN: %clang -print-multi-directory --target=aarch64-none-elf -march=armv8-r -fno-exceptions -fno-rtti -mno-unaligned-access | FileCheck %s --check-prefix=AARCH64R
67+
# RUN: %clang -print-multi-directory --target=aarch64-none-elf -mcpu=cortex-r82 -fno-exceptions -fno-rtti -mno-unaligned-access | FileCheck %s --check-prefix=AARCH64R
68+
69+
# AARCH64R: aarch64-none-elf/aarch64r{{$}}
70+
# AARCH64R-EMPTY:
71+
4872

4973
# Big endian
5074

0 commit comments

Comments
 (0)