Skip to content

Commit 5717147

Browse files
author
git apple-llvm automerger
committed
Merge commit 'fe5d1f901a70' from llvm.org/main into next
2 parents a0266c1 + fe5d1f9 commit 5717147

24 files changed

+331
-0
lines changed

llvm/lib/Target/ARM/MCTargetDesc/ARMELFStreamer.cpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -992,6 +992,10 @@ void ARMTargetELFStreamer::emitFPUDefaultAttributes() {
992992
// uses the FP_ARMV8_D16 build attribute.
993993
case ARM::FK_FPV5_SP_D16:
994994
case ARM::FK_FPV5_D16:
995+
// FPv5 and FP-ARMv8 have the same instructions, so are modeled as one
996+
// FPU, but there are two different names for it depending on the CPU.
997+
case ARM::FK_FP_ARMV8_FULLFP16_SP_D16:
998+
case ARM::FK_FP_ARMV8_FULLFP16_D16:
995999
S.setAttributeItem(ARMBuildAttrs::FP_arch, ARMBuildAttrs::AllowFPARMv8B,
9961000
/* OverwriteExisting= */ false);
9971001
break;

llvm/test/MC/ARM/directive-fpu-multiple.s

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,8 @@
2222
.fpu fpv5-d16
2323
.fpu fpv5-sp-d16
2424
.fpu fp-armv8
25+
.fpu fp-armv8-fullfp16-d16
26+
.fpu fp-armv8-fullfp16-sp-d16
2527
.fpu neon
2628
.fpu neon-fp16
2729
.fpu neon-vfpv4
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
@ Check a single .fpu directive.
2+
3+
@ RUN: llvm-mc -triple arm-eabi -filetype obj %s \
4+
@ RUN: | llvm-readobj --arch-specific - \
5+
@ RUN: | FileCheck %s -check-prefix CHECK-ATTR
6+
7+
.fpu crypto-neon-fp-armv8
8+
9+
@ CHECK-ATTR: FileAttributes {
10+
@ CHECK-ATTR: Attribute {
11+
@ CHECK-ATTR: TagName: FP_arch
12+
@ CHECK-ATTR: Description: ARMv8-a FP
13+
@ CHECK-ATTR: }
14+
@ CHECK-ATTR: }
15+
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
@ Check a single .fpu directive.
2+
3+
@ RUN: llvm-mc -triple arm-eabi -filetype obj %s \
4+
@ RUN: | llvm-readobj --arch-specific - \
5+
@ RUN: | FileCheck %s -check-prefix CHECK-ATTR
6+
7+
.fpu fp-armv8-fullfp16-d16
8+
9+
@ CHECK-ATTR: FileAttributes {
10+
@ CHECK-ATTR: Attribute {
11+
@ CHECK-ATTR: TagName: FP_arch
12+
@ CHECK-ATTR: Description: ARMv8-a FP-D16
13+
@ CHECK-ATTR: }
14+
@ CHECK-ATTR: }
15+
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
@ Check a single .fpu directive.
2+
3+
@ RUN: llvm-mc -triple arm-eabi -filetype obj %s \
4+
@ RUN: | llvm-readobj --arch-specific - \
5+
@ RUN: | FileCheck %s -check-prefix CHECK-ATTR
6+
7+
.fpu fp-armv8-fullfp16-sp-d16
8+
9+
@ CHECK-ATTR: FileAttributes {
10+
@ CHECK-ATTR: Attribute {
11+
@ CHECK-ATTR: TagName: FP_arch
12+
@ CHECK-ATTR: Description: ARMv8-a FP-D16
13+
@ CHECK-ATTR: }
14+
@ CHECK-ATTR: }
15+
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
@ Check a single .fpu directive.
2+
3+
@ RUN: llvm-mc -triple arm-eabi -filetype obj %s \
4+
@ RUN: | llvm-readobj --arch-specific - \
5+
@ RUN: | FileCheck %s -check-prefix CHECK-ATTR
6+
7+
.fpu fp-armv8
8+
9+
@ CHECK-ATTR: FileAttributes {
10+
@ CHECK-ATTR: Attribute {
11+
@ CHECK-ATTR: TagName: FP_arch
12+
@ CHECK-ATTR: Description: ARMv8-a FP
13+
@ CHECK-ATTR: }
14+
@ CHECK-ATTR: }
15+
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
@ Check a single .fpu directive.
2+
3+
@ RUN: llvm-mc -triple arm-eabi -filetype obj %s \
4+
@ RUN: | llvm-readobj --arch-specific - \
5+
@ RUN: | FileCheck %s -check-prefix CHECK-ATTR
6+
7+
.fpu fpv4-sp-d16
8+
9+
@ CHECK-ATTR: FileAttributes {
10+
@ CHECK-ATTR: Attribute {
11+
@ CHECK-ATTR: TagName: FP_arch
12+
@ CHECK-ATTR: Description: VFPv4-D16
13+
@ CHECK-ATTR: }
14+
@ CHECK-ATTR: }
15+
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
@ Check a single .fpu directive.
2+
3+
@ RUN: llvm-mc -triple arm-eabi -filetype obj %s \
4+
@ RUN: | llvm-readobj --arch-specific - \
5+
@ RUN: | FileCheck %s -check-prefix CHECK-ATTR
6+
7+
.fpu fpv5-d16
8+
9+
@ CHECK-ATTR: FileAttributes {
10+
@ CHECK-ATTR: Attribute {
11+
@ CHECK-ATTR: TagName: FP_arch
12+
@ CHECK-ATTR: Description: ARMv8-a FP-D16
13+
@ CHECK-ATTR: }
14+
@ CHECK-ATTR: }
15+
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
@ Check a single .fpu directive.
2+
3+
@ RUN: llvm-mc -triple arm-eabi -filetype obj %s \
4+
@ RUN: | llvm-readobj --arch-specific - \
5+
@ RUN: | FileCheck %s -check-prefix CHECK-ATTR
6+
7+
.fpu fpv5-sp-d16
8+
9+
@ CHECK-ATTR: FileAttributes {
10+
@ CHECK-ATTR: Attribute {
11+
@ CHECK-ATTR: TagName: FP_arch
12+
@ CHECK-ATTR: Description: ARMv8-a FP-D16
13+
@ CHECK-ATTR: }
14+
@ CHECK-ATTR: }
15+
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
@ Check a single .fpu directive.
2+
3+
@ RUN: llvm-mc -triple arm-eabi -filetype obj %s \
4+
@ RUN: | llvm-readobj --arch-specific - \
5+
@ RUN: | FileCheck %s -check-prefix CHECK-ATTR
6+
7+
.fpu neon-fp-armv8
8+
9+
@ CHECK-ATTR: FileAttributes {
10+
@ CHECK-ATTR: Attribute {
11+
@ CHECK-ATTR: TagName: FP_arch
12+
@ CHECK-ATTR: Description: ARMv8-a FP
13+
@ CHECK-ATTR: }
14+
@ CHECK-ATTR: }
15+

0 commit comments

Comments
 (0)