[ARM] Better OR's for MVE compares
[llvm-core.git] / test / MC / AArch64 / SVE / fcadd-diagnostics.s
blob8be5b5731566576c100946f7fbe2c214588edbea
1 // RUN: not llvm-mc -triple=aarch64 -show-encoding -mattr=+sve 2>&1 < %s| FileCheck %s
3 // --------------------------------------------------------------------------//
4 // Source and Destination Registers must match
6 fcadd z0.d, p2/m, z1.d, z2.d, #90
7 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: operand must match destination register
8 // CHECK-NEXT: fcadd z0.d, p2/m, z1.d, z2.d, #90
9 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:
12 // --------------------------------------------------------------------------//
13 // Restricted predicate out of range.
15 fcadd z0.d, p8/m, z0.d, z1.d, #90
16 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid restricted predicate register, expected p0..p7 (without element suffix)
17 // CHECK-NEXT: fcadd z0.d, p8/m, z0.d, z1.d, #90
18 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:
21 // --------------------------------------------------------------------------//
22 // Invalid rotation
24 fcadd z0.d, p0/m, z0.d, z1.d, #0
25 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: complex rotation must be 90 or 270.
26 // CHECK-NEXT: fcadd z0.d, p0/m, z0.d, z1.d, #0
27 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:
29 fcadd z0.d, p0/m, z0.d, z1.d, #180
30 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: complex rotation must be 90 or 270.
31 // CHECK-NEXT: fcadd z0.d, p0/m, z0.d, z1.d, #180
32 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:
34 fcadd z0.d, p0/m, z0.d, z1.d, #450
35 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: complex rotation must be 90 or 270.
36 // CHECK-NEXT: fcadd z0.d, p0/m, z0.d, z1.d, #450
37 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: