]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - test/MC/AArch64/SVE/saddv-diagnostics.s
Vendor import of llvm trunk r351319 (just before the release_80 branch
[FreeBSD/FreeBSD.git] / test / MC / AArch64 / SVE / saddv-diagnostics.s
1 // RUN: not llvm-mc -triple=aarch64 -show-encoding -mattr=+sve  2>&1 < %s| FileCheck %s
2
3
4 // ------------------------------------------------------------------------- //
5 // Invalid destination or source register.
6
7 saddv s0, p7, z31.b
8 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
9 // CHECK-NEXT: saddv s0, p7, z31.b
10 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:
11
12 saddv s0, p7, z31.h
13 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
14 // CHECK-NEXT: saddv s0, p7, z31.h
15 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:
16
17 saddv s0, p7, z31.s
18 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
19 // CHECK-NEXT: saddv s0, p7, z31.s
20 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:
21
22 saddv d0, p7, z31.d
23 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid element width
24 // CHECK-NEXT: saddv d0, p7, z31.d
25 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:
26
27
28 // ------------------------------------------------------------------------- //
29 // Invalid predicate
30
31 saddv d0, p8, z31.b
32 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: restricted predicate has range [0, 7].
33 // CHECK-NEXT: saddv d0, p8, z31.b
34 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:
35
36 // --------------------------------------------------------------------------//
37 // Negative tests for instructions that are incompatible with movprfx
38
39 movprfx z31.s, p7/z, z6.s
40 saddv d0, p7, z31.s
41 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: instruction is unpredictable when following a movprfx, suggest replacing movprfx with mov
42 // CHECK-NEXT: saddv d0, p7, z31.s
43 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:
44
45 movprfx z31, z6
46 saddv d0, p7, z31.s
47 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: instruction is unpredictable when following a movprfx, suggest replacing movprfx with mov
48 // CHECK-NEXT: saddv d0, p7, z31.s
49 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: