mirror of
https://github.com/RPCSX/llvm.git
synced 2024-12-05 02:16:46 +00:00
8baa31e81c
The FPU directive permits the user to switch the target FPU, enabling instructions that would be otherwise unavailable. However, when configuring the new subtarget features, we would not enable the implied functions for newer FPUs. This would result in invalid rejection of valid input. Ensure that we inherit the implied FPU functionality when enabling newer versions of the FPU. Fortunately, these are mostly hierarchical, unlike the CPUs. Addresses PR22395. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@227584 91177308-0d34-0410-b5e6-96231b3b80d8
64 lines
1.4 KiB
ArmAsm
64 lines
1.4 KiB
ArmAsm
@ RUN: llvm-mc -triple armv4t-eabi -filetype asm -o - %s 2>&1 | FileCheck %s
|
|
|
|
.text
|
|
.thumb
|
|
|
|
.p2align 2
|
|
|
|
.fpu neon
|
|
vldmia r0, {d16-d31}
|
|
|
|
@ CHECK: vldmia r0, {d16, d17, d18, d19, d20, d21, d22, d23, d24, d25, d26, d27, d28, d29, d30, d31}
|
|
@ CHECK-NOT: error: instruction requires: VFP2
|
|
|
|
.fpu vfpv3
|
|
vadd.f32 s1, s2, s3
|
|
@ CHECK: vadd.f32 s1, s2, s3
|
|
@ CHECK-NOT: error: instruction requires: VPF2
|
|
|
|
.fpu vfpv3-d16
|
|
vadd.f32 s1, s2, s3
|
|
@ CHECK: vadd.f32 s1, s2, s3
|
|
@ CHECK-NOT: error: instruction requires: VPF2
|
|
|
|
.fpu vfpv4
|
|
vadd.f32 s1, s2, s3
|
|
@ CHECK: vadd.f32 s1, s2, s3
|
|
@ CHECK-NOT: error: instruction requires: VPF2
|
|
|
|
.fpu vfpv4-d16
|
|
vadd.f32 s1, s2, s3
|
|
@ CHECK: vadd.f32 s1, s2, s3
|
|
@ CHECK-NOT: error: instruction requires: VPF2
|
|
|
|
.fpu fpv5-d16
|
|
vadd.f32 s1, s2, s3
|
|
@ CHECK: vadd.f32 s1, s2, s3
|
|
@ CHECK-NOT: error: instruction requires: VPF2
|
|
|
|
.fpu fp-armv8
|
|
vadd.f32 s1, s2, s3
|
|
@ CHECK: vadd.f32 s1, s2, s3
|
|
@ CHECK-NOT: error: instruction requires: VPF2
|
|
|
|
.fpu fp-armv8
|
|
vadd.f32 s1, s2, s3
|
|
@ CHECK: vadd.f32 s1, s2, s3
|
|
@ CHECK-NOT: error: instruction requires: VPF2
|
|
|
|
.fpu neon
|
|
vadd.f32 s1, s2, s3
|
|
@ CHECK: vadd.f32 s1, s2, s3
|
|
@ CHECK-NOT: error: instruction requires: VPF2
|
|
|
|
.fpu neon-vfpv4
|
|
vadd.f32 s1, s2, s3
|
|
@ CHECK: vadd.f32 s1, s2, s3
|
|
@ CHECK-NOT: error: instruction requires: VPF2
|
|
|
|
.fpu crypto-neon-fp-armv8
|
|
vadd.f32 s1, s2, s3
|
|
@ CHECK: vadd.f32 s1, s2, s3
|
|
@ CHECK-NOT: error: instruction requires: VPF2
|
|
|