brintos

brintos / llvm-project-archived public Read only

0
0
Text · 3.5 KiB · 8f08baf Raw
77 lines · plain
1// RUN: not llvm-mc -triple=aarch64 -show-encoding -mattr=+sme-tmop 2>&1 < %s| FileCheck %s2 3// --------------------------------------------------------------------------//4// Invalid ZA register5 6ustmopa  za4.s, {z30.b-z31.b}, z31.b, z31[3]7// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction8// CHECK-NEXT: ustmopa  za4.s, {z30.b-z31.b}, z31.b, z31[3]9// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:10 11// --------------------------------------------------------------------------//12// Invalid vector list operand13 14ustmopa  za3.s, {z29.b-z30.b}, z31.b, z31[3]15// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: Invalid vector list, expected list with 2 consecutive SVE vectors, where the first vector is a multiple of 2 and with matching element types16// CHECK-NEXT: ustmopa  za3.s, {z29.b-z30.b}, z31.b, z31[3]17// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:18 19// --------------------------------------------------------------------------//20// Invalid ZK register21 22ustmopa  za3.s, {z28.b-z29.b}, z31.b, z19[2]23// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid restricted vector register, expected register in z20..z23 or z28..z3124// CHECK-NEXT: ustmopa  za3.s, {z28.b-z29.b}, z31.b, z19[2]25// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:26 27ustmopa  za3.s, {z28.b-z29.b}, z31.b, z24[2]28// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid restricted vector register, expected register in z20..z23 or z28..z3129// CHECK-NEXT: ustmopa  za3.s, {z28.b-z29.b}, z31.b, z24[2]30// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:31 32ustmopa  za3.s, {z28.b-z29.b}, z31.b, z27[2]33// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid restricted vector register, expected register in z20..z23 or z28..z3134// CHECK-NEXT: ustmopa  za3.s, {z28.b-z29.b}, z31.b, z27[2]35// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:36 37// --------------------------------------------------------------------------//38// Invalid immediate39 40ustmopa  za3.s, {z28.b-z29.b}, z31.b, z29[4]41// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: vector lane must be an integer in range [0, 3].42// CHECK-NEXT: ustmopa  za3.s, {z28.b-z29.b}, z31.b, z29[4]43// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:44 45// --------------------------------------------------------------------------//46// Invalid ZPR type suffix47 48ustmopa  za0.h, {z28.b-z29.b}, z31.b, z20[2]49// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid matrix operand, expected za[0-3].s50// CHECK-NEXT: ustmopa  za0.h, {z28.b-z29.b}, z31.b, z20[2]51// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:52 53ustmopa  za0.h, {z28.h-z29.h}, z31.h, z20[2]54// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid matrix operand, expected za[0-3].s55// CHECK-NEXT: ustmopa  za0.h, {z28.h-z29.h}, z31.h, z20[2]56// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:57 58ustmopa  za3.s, {z28.h-z29.h}, z31.h, z20[3]59// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction60// CHECK-NEXT: ustmopa  za3.s, {z28.h-z29.h}, z31.h, z20[3]61// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:62 63ustmopa  za3.s, {z28.s-z29.s}, z31.s, z20[2]64// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction65// CHECK-NEXT: ustmopa  za3.s, {z28.s-z29.s}, z31.s, z20[2]66// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:67 68ustmopa  za3.d, {z28.s-z29.s}, z31.s, z20[3]69// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid matrix operand, expected za[0-3].s70// CHECK-NEXT: ustmopa  za3.d, {z28.s-z29.s}, z31.s, z20[3]71// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:72 73ustmopa  za3.d, {z28.h-z29.h}, z31.h, z20[3]74// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid matrix operand, expected za[0-3].s75// CHECK-NEXT: ustmopa  za3.d, {z28.h-z29.h}, z31.h, z20[3]76// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:77