1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-22 18:54:02 +01:00
llvm-mirror/test/MC/AArch64/armv8.3a-complex_missing.s
Diogo N. Sampaio cd73ce3566 [NFC][AArch64] Split out backend features
This patch splits backend features currently
hidden behind architecture versions.

For example, currently the only way to activate
complex numbers extension is targeting an v8.3
architecture, where after the patch this extension
can be added separately.

This refactoring is required by the new command lines proposal:
http://lists.llvm.org/pipermail/llvm-dev/2018-September/126346.html


Reviewers: DavidSpickett, olista01, t.p.northover

Subscribers: kristof.beyls, bryanpkc, javed.absar, pbarrio

Differential revision: https://reviews.llvm.org/D54633

--

It was reverted in rL348249 due a	build bot failure in one of the
regression tests:
http://lab.llvm.org:8011/builders/llvm-clang-x86_64-expensive-checks-win/builds/14386

The problem seems to be that FileCheck behaves
different in windows and linux. This new patch
splits the test file in multiple,
and does more exact pattern matching attempting
to circumvent the issue.

llvm-svn: 348493
2018-12-06 15:39:17 +00:00

104 lines
4.0 KiB
ArmAsm

// RUN: not llvm-mc -triple aarch64-none-linux-gnu -show-encoding -mattr=+v8.3a,-complxnum,+fullfp16 -o - %s 2>&1 | FileCheck %s
// RUN: not llvm-mc -triple aarch64-none-linux-gnu -show-encoding -mattr=+fullfp16 -o - %s 2>&1 | FileCheck %s
fcmla v0.4h, v1.4h, v2.4h, #0
fcmla v0.8h, v1.8h, v2.8h, #0
fcmla v0.2s, v1.2s, v2.2s, #0
fcmla v0.4s, v1.4s, v2.4s, #0
fcmla v0.2d, v1.2d, v2.2d, #0
fcmla v0.2s, v1.2s, v2.2s, #0
fcmla v0.2s, v1.2s, v2.2s, #90
fcmla v0.2s, v1.2s, v2.2s, #180
fcmla v0.2s, v1.2s, v2.2s, #270
fcadd v0.4h, v1.4h, v2.4h, #90
fcadd v0.8h, v1.8h, v2.8h, #90
fcadd v0.2s, v1.2s, v2.2s, #90
fcadd v0.4s, v1.4s, v2.4s, #90
fcadd v0.2d, v1.2d, v2.2d, #90
fcadd v0.2s, v1.2s, v2.2s, #90
fcadd v0.2s, v1.2s, v2.2s, #270
fcmla v0.4h, v1.4h, v2.h[0], #0
fcmla v0.8h, v1.8h, v2.h[0], #0
fcmla v0.4s, v1.4s, v2.s[0], #0
fcmla v0.4s, v1.4s, v2.s[0], #90
fcmla v0.4s, v1.4s, v2.s[0], #180
fcmla v0.4s, v1.4s, v2.s[0], #270
fcmla v0.4h, v1.4h, v2.h[1], #0
fcmla v0.8h, v1.8h, v2.h[3], #0
fcmla v0.4s, v1.4s, v2.s[1], #0
//CHECK: {{.*}} error: instruction requires: complxnum
//CHECK-NEXT: fcmla v0.4h, v1.4h, v2.4h, #0
//CHECK-NEXT: ^
//CHECK-NEXT: {{.*}} error: instruction requires: complxnum
//CHECK-NEXT: fcmla v0.8h, v1.8h, v2.8h, #0
//CHECK-NEXT: ^
//CHECK-NEXT: {{.*}} error: instruction requires: complxnum
//CHECK-NEXT: fcmla v0.2s, v1.2s, v2.2s, #0
//CHECK-NEXT: ^
//CHECK-NEXT: {{.*}} error: instruction requires: complxnum
//CHECK-NEXT: fcmla v0.4s, v1.4s, v2.4s, #0
//CHECK-NEXT: ^
//CHECK-NEXT: {{.*}} error: instruction requires: complxnum
//CHECK-NEXT: fcmla v0.2d, v1.2d, v2.2d, #0
//CHECK-NEXT: ^
//CHECK-NEXT: {{.*}} error: instruction requires: complxnum
//CHECK-NEXT: fcmla v0.2s, v1.2s, v2.2s, #0
//CHECK-NEXT: ^
//CHECK-NEXT: {{.*}} error: instruction requires: complxnum
//CHECK-NEXT: fcmla v0.2s, v1.2s, v2.2s, #90
//CHECK-NEXT: ^
//CHECK-NEXT: {{.*}} error: instruction requires: complxnum
//CHECK-NEXT: fcmla v0.2s, v1.2s, v2.2s, #180
//CHECK-NEXT: ^
//CHECK-NEXT: {{.*}} error: instruction requires: complxnum
//CHECK-NEXT: fcmla v0.2s, v1.2s, v2.2s, #270
//CHECK-NEXT: ^
//CHECK-NEXT: {{.*}} error: instruction requires: complxnum
//CHECK-NEXT: fcadd v0.4h, v1.4h, v2.4h, #90
//CHECK-NEXT: ^
//CHECK-NEXT: {{.*}} error: instruction requires: complxnum
//CHECK-NEXT: fcadd v0.8h, v1.8h, v2.8h, #90
//CHECK-NEXT: ^
//CHECK-NEXT: {{.*}} error: instruction requires: complxnum
//CHECK-NEXT: fcadd v0.2s, v1.2s, v2.2s, #90
//CHECK-NEXT: ^
//CHECK-NEXT: {{.*}} error: instruction requires: complxnum
//CHECK-NEXT: fcadd v0.4s, v1.4s, v2.4s, #90
//CHECK-NEXT: ^
//CHECK-NEXT: {{.*}} error: instruction requires: complxnum
//CHECK-NEXT: fcadd v0.2d, v1.2d, v2.2d, #90
//CHECK-NEXT: ^
//CHECK-NEXT: {{.*}} error: instruction requires: complxnum
//CHECK-NEXT: fcadd v0.2s, v1.2s, v2.2s, #90
//CHECK-NEXT: ^
//CHECK-NEXT: {{.*}} error: instruction requires: complxnum
//CHECK-NEXT: fcadd v0.2s, v1.2s, v2.2s, #270
//CHECK-NEXT: ^
//CHECK-NEXT: {{.*}} error: instruction requires: complxnum
//CHECK-NEXT: fcmla v0.4h, v1.4h, v2.h[0], #0
//CHECK-NEXT: ^
//CHECK-NEXT: {{.*}} error: instruction requires: complxnum
//CHECK-NEXT: fcmla v0.8h, v1.8h, v2.h[0], #0
//CHECK-NEXT: ^
//CHECK-NEXT: {{.*}} error: instruction requires: complxnum
//CHECK-NEXT: fcmla v0.4s, v1.4s, v2.s[0], #0
//CHECK-NEXT: ^
//CHECK-NEXT: {{.*}} error: instruction requires: complxnum
//CHECK-NEXT: fcmla v0.4s, v1.4s, v2.s[0], #90
//CHECK-NEXT: ^
//CHECK-NEXT: {{.*}} error: instruction requires: complxnum
//CHECK-NEXT: fcmla v0.4s, v1.4s, v2.s[0], #180
//CHECK-NEXT: ^
//CHECK-NEXT: {{.*}} error: instruction requires: complxnum
//CHECK-NEXT: fcmla v0.4s, v1.4s, v2.s[0], #270
//CHECK-NEXT: ^
//CHECK-NEXT: {{.*}} error: instruction requires: complxnum
//CHECK-NEXT: fcmla v0.4h, v1.4h, v2.h[1], #0
//CHECK-NEXT: ^
//CHECK-NEXT: {{.*}} error: instruction requires: complxnum
//CHECK-NEXT: fcmla v0.8h, v1.8h, v2.h[3], #0
//CHECK-NEXT: ^
//CHECK-NEXT: {{.*}} error: instruction requires: complxnum
//CHECK-NEXT: fcmla v0.4s, v1.4s, v2.s[1], #0
//CHECK-NEXT: ^