xref: /llvm-project/llvm/test/MC/AArch64/SVE/fcmuo-diagnostics.s (revision e64206a02c2501f06929c1b4ae839f3437ac9079)
1// RUN: not llvm-mc -triple=aarch64 -show-encoding -mattr=+sve  2>&1 < %s| FileCheck %s
2
3fcmuo   p0.b, p0/z, z0.b, z0.b
4// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid predicate register
5// CHECK-NEXT: fcmuo   p0.b, p0/z, z0.b, z0.b
6// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:
7
8fcmuo   p0.s, p0/z, z0.s, #0.0
9// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: unexpected floating point literal
10// CHECK-NEXT: fcmuo   p0.s, p0/z, z0.s, #0.0
11// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:
12
13
14// --------------------------------------------------------------------------//
15// Negative tests for instructions that are incompatible with movprfx
16
17movprfx z0.d, p0/z, z7.d
18fcmuo   p0.d, p0/z, z0.d, z1.d
19// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: instruction is unpredictable when following a movprfx, suggest replacing movprfx with mov
20// CHECK-NEXT: fcmuo   p0.d, p0/z, z0.d, z1.d
21// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:
22
23movprfx z0, z7
24fcmuo   p0.d, p0/z, z0.d, z1.d
25// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: instruction is unpredictable when following a movprfx, suggest replacing movprfx with mov
26// CHECK-NEXT: fcmuo   p0.d, p0/z, z0.d, z1.d
27// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:
28