AArch64/ARM64: enable MC-level diagnostic tests for NEON insts.

Obviously we can't expect the two backends to produce identical diagnostics,
since what's possible depends quite a bit on how the .td files are structured.
I think the ARM64 diagnostics are basically of the same quality in all the
changed cases, so I've split the CHECK lines.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@208084 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Tim Northover 2014-05-06 12:50:55 +00:00
parent 09b3bd8ca3
commit c08733f867
2 changed files with 663 additions and 392 deletions

File diff suppressed because it is too large Load Diff

View File

@ -1,6 +1,9 @@
// RUN: not llvm-mc -triple aarch64-none-linux-gnu -mattr=-neon < %s 2> %t // RUN: not llvm-mc -triple aarch64-none-linux-gnu -mattr=-neon < %s 2> %t
// RUN: FileCheck --check-prefix=CHECK-ERROR < %t %s // RUN: FileCheck --check-prefix=CHECK-ERROR < %t %s
// RUN: not llvm-mc -triple arm64-none-linux-gnu -mattr=-neon < %s 2> %t
// RUN: FileCheck --check-prefix=CHECK-ARM64-ERROR < %t %s
fmla v3.4s, v12.4s, v17.4s fmla v3.4s, v12.4s, v17.4s
fmla v1.2d, v30.2d, v20.2d fmla v1.2d, v30.2d, v20.2d
fmla v9.2s, v9.2s, v0.2s fmla v9.2s, v9.2s, v0.2s
@ -14,6 +17,16 @@
// CHECK-ERROR-NEXT: fmla v9.2s, v9.2s, v0.2s // CHECK-ERROR-NEXT: fmla v9.2s, v9.2s, v0.2s
// CHECK-ERROR-NEXT: ^ // CHECK-ERROR-NEXT: ^
// CHECK-ARM64-ERROR: error: instruction requires: neon
// CHECK-ARM64-ERROR-NEXT: fmla v3.4s, v12.4s, v17.4s
// CHECK-ARM64-ERROR-NEXT: ^
// CHECK-ARM64-ERROR-NEXT: error: instruction requires: neon
// CHECK-ARM64-ERROR-NEXT: fmla v1.2d, v30.2d, v20.2d
// CHECK-ARM64-ERROR-NEXT: ^
// CHECK-ARM64-ERROR-NEXT: error: instruction requires: neon
// CHECK-ARM64-ERROR-NEXT: fmla v9.2s, v9.2s, v0.2s
// CHECK-ARM64-ERROR-NEXT: ^
fmls v3.4s, v12.4s, v17.4s fmls v3.4s, v12.4s, v17.4s
fmls v1.2d, v30.2d, v20.2d fmls v1.2d, v30.2d, v20.2d
fmls v9.2s, v9.2s, v0.2s fmls v9.2s, v9.2s, v0.2s
@ -26,3 +39,13 @@
// CHECK-ERROR-NEXT: error: instruction requires a CPU feature not currently enabled // CHECK-ERROR-NEXT: error: instruction requires a CPU feature not currently enabled
// CHECK-ERROR-NEXT: fmls v9.2s, v9.2s, v0.2s // CHECK-ERROR-NEXT: fmls v9.2s, v9.2s, v0.2s
// CHECK-ERROR-NEXT: ^ // CHECK-ERROR-NEXT: ^
// CHECK-ARM64-ERROR: error: instruction requires: neon
// CHECK-ARM64-ERROR-NEXT: fmls v3.4s, v12.4s, v17.4s
// CHECK-ARM64-ERROR-NEXT: ^
// CHECK-ARM64-ERROR-NEXT: error: instruction requires: neon
// CHECK-ARM64-ERROR-NEXT: fmls v1.2d, v30.2d, v20.2d
// CHECK-ARM64-ERROR-NEXT: ^
// CHECK-ARM64-ERROR-NEXT: error: instruction requires: neon
// CHECK-ARM64-ERROR-NEXT: fmls v9.2s, v9.2s, v0.2s
// CHECK-ARM64-ERROR-NEXT: ^