brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.4 KiB · 94b5c4a Raw
66 lines · plain
1// RUN: not llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2  2>&1 < %s| FileCheck %s2 3 4 5// ------------------------------------------------------------------------- //6// z register out of range for index7 8mls z0.h, z1.h, z8.h[0]9// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: Invalid restricted vector register, expected z0.h..z7.h10// CHECK-NEXT: mls z0.h, z1.h, z8.h[0]11// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:12 13mls z0.s, z1.s, z8.s[0]14// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: Invalid restricted vector register, expected z0.s..z7.s15// CHECK-NEXT: mls z0.s, z1.s, z8.s[0]16// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:17 18mls z0.d, z1.d, z16.d[0]19// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: Invalid restricted vector register, expected z0.d..z15.d20// CHECK-NEXT: mls z0.d, z1.d, z16.d[0]21// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:22 23 24// ------------------------------------------------------------------------- //25// Invalid element index26 27mls z0.h, z1.h, z2.h[-1]28// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: vector lane must be an integer in range [0, 7].29// CHECK-NEXT: mls z0.h, z1.h, z2.h[-1]30// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:31 32mls z0.h, z1.h, z2.h[8]33// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: vector lane must be an integer in range [0, 7].34// CHECK-NEXT: mls z0.h, z1.h, z2.h[8]35// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:36 37mls z0.s, z1.s, z2.s[-1]38// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: vector lane must be an integer in range [0, 3].39// CHECK-NEXT: mls z0.s, z1.s, z2.s[-1]40// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:41 42mls z0.s, z1.s, z2.s[4]43// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: vector lane must be an integer in range [0, 3].44// CHECK-NEXT: mls z0.s, z1.s, z2.s[4]45// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:46 47mls z0.d, z1.d, z2.d[-1]48// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: vector lane must be an integer in range [0, 1].49// CHECK-NEXT: mls z0.d, z1.d, z2.d[-1]50// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:51 52mls z0.d, z1.d, z2.d[2]53// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: vector lane must be an integer in range [0, 1].54// CHECK-NEXT: mls z0.d, z1.d, z2.d[2]55// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:56 57 58// --------------------------------------------------------------------------//59// Negative tests for instructions that are incompatible with movprfx60 61movprfx z0.d, p0/z, z7.d62mls z0.d, z1.d, z7.d[1]63// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: instruction is unpredictable when following a predicated movprfx, suggest using unpredicated movprfx64// CHECK-NEXT: mls z0.d, z1.d, z7.d[1]65// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:66