Skip to content

Commit

Permalink
Enable targetting v8-A Aarch-32 (ARM-software#484)
Browse files Browse the repository at this point in the history
* Enable targetting v8-A Aarch-32

* fixup! Enable targetting v8-A Aarch-32
  • Loading branch information
eleanor-arm authored and dcandler committed Sep 16, 2024
1 parent 9b572a3 commit c43d956
Show file tree
Hide file tree
Showing 2 changed files with 26 additions and 6 deletions.
13 changes: 7 additions & 6 deletions cmake/multilib.yaml.in
Original file line number Diff line number Diff line change
Expand Up @@ -144,13 +144,14 @@ Mappings:
Flags:
- --target=armv7-unknown-none-eabihf

# Higher versions of v8-A, and v9-A, are all supersets of v8-A. (And
# of each other, in the obvious way, but we don't have any libraries
# for those at present, so there's no need to generate all their
# flags.)
- Match: --target=armv(8\.[1-9]|9|9\.[1-9])a-unknown-none-eabi
# Higher versions of the architecture such as v8-A and v9-A are a superset of
# v7-A.
- Match: --target=(arm|thumb)v(8|8\.[1-9]|9|9\.[1-9])a-unknown-none-eabi
Flags:
- --target=armv8a-unknown-none-eabi
- --target=armv7-unknown-none-eabi
- Match: --target=(arm|thumb)v(8|8\.[1-9]|9|9\.[1-9])a-unknown-none-eabihf
Flags:
- --target=armv7-unknown-none-eabihf

# -march extensions
- Match: -march=thumbv8\.[1-9]m\.main(\+[^\+]+)*\+fp16(\+[^\+]+)*
Expand Down
19 changes: 19 additions & 0 deletions test/multilib/armv8a.test
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# RUN: %clang -print-multi-directory --target=armv8a-none-eabi -mfpu=none | FileCheck %s
# RUN: %clang -print-multi-directory --target=armv8a-none-eabi -mfpu=none -marm | FileCheck %s
# RUN: %clang -print-multi-directory --target=armv8a-none-eabi -mfpu=none -mthumb | FileCheck %s
# CHECK: arm-none-eabi/armv7a_soft_nofp_exn_rtti{{$}}
# CHECK-EMPTY:

# RUN: %clang -print-multi-directory --target=armv8a-none-eabihf -mfpu=vfpv3-d16 | FileCheck --check-prefix=VFPV3 %s
# RUN: %clang -print-multi-directory --target=armv8a-none-eabihf -mfpu=neon-vfpv3 | FileCheck --check-prefix=VFPV3 %s
# RUN: %clang -print-multi-directory --target=armv8a-none-eabihf -mfpu=vfpv3 | FileCheck --check-prefix=VFPV3 %s
# RUN: %clang -print-multi-directory --target=armv8a-none-eabihf -mfpu=vfpv3-d16-fp16 | FileCheck --check-prefix=VFPV3 %s
# RUN: %clang -print-multi-directory --target=armv8a-none-eabihf -mfpu=vfpv3-fp16 | FileCheck --check-prefix=VFPV3 %s
# RUN: %clang -print-multi-directory --target=armv8a-none-eabihf -mfpu=vfpv4-d16 | FileCheck --check-prefix=VFPV3 %s
# RUN: %clang -print-multi-directory --target=armv8a-none-eabihf -mfpu=vfpv4 | FileCheck --check-prefix=VFPV3 %s
# RUN: %clang -print-multi-directory --target=armv8a-none-eabihf -mfpu=neon-fp16 | FileCheck --check-prefix=VFPV3 %s
# RUN: %clang -print-multi-directory --target=armv8a-none-eabihf -mfpu=neon-vfpv4 | FileCheck --check-prefix=VFPV3 %s
# RUN: %clang -print-multi-directory --target=armv8a-none-eabihf -mfpu=vfpv3-d16 -marm | FileCheck --check-prefix=VFPV3 %s
# RUN: %clang -print-multi-directory --target=armv8a-none-eabihf -mfpu=vfpv3-d16 -mthumb | FileCheck --check-prefix=VFPV3 %s
# VFPV3: arm-none-eabi/armv7a_hard_vfpv3_d16_exn_rtti{{$}}
# VFPV3-EMPTY:

0 comments on commit c43d956

Please sign in to comment.