83 lines · plain
1// RUN: not llvm-mc -triple=aarch64 -show-encoding -mattr=+sme 2>&1 < %s| FileCheck %s2 3// --------------------------------------------------------------------------//4// Registers list not in ascending order5 6zero {za1.s, za0.s}7// CHECK: [[@LINE-1]]:{{[0-9]+}}: warning: tile list not in ascending order8// CHECK-NEXT: zero {za1.s, za0.s}9// CHECK-NEXT: ^10 11zero {za0.d, za1.d, za4.d, za3.d}12// CHECK: [[@LINE-1]]:{{[0-9]+}}: warning: tile list not in ascending order13// CHECK-NEXT: zero {za0.d, za1.d, za4.d, za3.d}14// CHECK-NEXT: ^15 16// --------------------------------------------------------------------------//17// Duplicate tile18 19zero {za0.s, za0.s}20// CHECK: [[@LINE-1]]:{{[0-9]+}}: warning: duplicate tile in list21// CHECK-NEXT: zero {za0.s, za0.s}22// CHECK-NEXT: ^23 24zero {za0.d, za1.d, za2.d, za2.d, za3.d}25// CHECK: [[@LINE-1]]:{{[0-9]+}}: warning: duplicate tile in list26// CHECK-NEXT: zero {za0.d, za1.d, za2.d, za2.d, za3.d}27// CHECK-NEXT: ^28 29// --------------------------------------------------------------------------//30// Mismatched register size suffix31 32zero {za0.b, za5.d}33// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: mismatched register size suffix34// CHECK-NEXT: zero {za0.b, za5.d}35// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:36 37// --------------------------------------------------------------------------//38// Missing '}'39 40zero {za41// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: '}' expected42// CHECK-NEXT: zero {za43// CHECK-NEXT: ^44// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:45 46// --------------------------------------------------------------------------//47// Invalid matrix tile48 49zero {za0.b, za1.b}50// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction51// CHECK-NEXT: zero {za0.b, za1.b}52// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:53 54zero {za2.h}55// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction56// CHECK-NEXT: zero {za2.h}57// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:58 59zero {za0.s, za1.s, za2.s, za3.s, za4.s}60// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction61// CHECK-NEXT: zero {za0.s, za1.s, za2.s, za3.s, za4.s}62// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:63 64zero {za0.d, za1.d, za2.d, za3.d, za4.d, za5.d, za6.d, za7.d, za8.d}65// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction66// CHECK-NEXT: zero {za0.d, za1.d, za2.d, za3.d, za4.d, za5.d, za6.d, za7.d, za8.d}67// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:68 69zero {za0h.b}70// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction71// CHECK-NEXT: zero {za0h.b}72// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:73 74zero {za0.s, za1h.s}75// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction76// CHECK-NEXT: zero {za0.s, za1h.s}77// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:78 79zero {za15.q}80// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction81// CHECK-NEXT: zero {za15.q}82// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:83