| // RUN: not llvm-mc -triple=aarch64 -show-encoding -mattr=+sme 2>&1 < %s| FileCheck %s |
| |
| // --------------------------------------------------------------------------// |
| // Registers list not in ascending order |
| |
| zero {za1.s, za0.s} |
| // CHECK: [[@LINE-1]]:{{[0-9]+}}: warning: tile list not in ascending order |
| // CHECK-NEXT: zero {za1.s, za0.s} |
| // CHECK-NEXT: ^ |
| |
| zero {za0.d, za1.d, za4.d, za3.d} |
| // CHECK: [[@LINE-1]]:{{[0-9]+}}: warning: tile list not in ascending order |
| // CHECK-NEXT: zero {za0.d, za1.d, za4.d, za3.d} |
| // CHECK-NEXT: ^ |
| |
| // --------------------------------------------------------------------------// |
| // Duplicate tile |
| |
| zero {za0.s, za0.s} |
| // CHECK: [[@LINE-1]]:{{[0-9]+}}: warning: duplicate tile in list |
| // CHECK-NEXT: zero {za0.s, za0.s} |
| // CHECK-NEXT: ^ |
| |
| zero {za0.d, za1.d, za2.d, za2.d, za3.d} |
| // CHECK: [[@LINE-1]]:{{[0-9]+}}: warning: duplicate tile in list |
| // CHECK-NEXT: zero {za0.d, za1.d, za2.d, za2.d, za3.d} |
| // CHECK-NEXT: ^ |
| |
| // --------------------------------------------------------------------------// |
| // Mismatched register size suffix |
| |
| zero {za0.b, za5.d} |
| // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: mismatched register size suffix |
| // CHECK-NEXT: zero {za0.b, za5.d} |
| // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: |
| |
| // --------------------------------------------------------------------------// |
| // Missing '}' |
| |
| zero {za |
| // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: '}' expected |
| // CHECK-NEXT: zero {za |
| // CHECK-NEXT: ^ |
| // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: |
| |
| // --------------------------------------------------------------------------// |
| // Invalid matrix tile |
| |
| zero {za0.b, za1.b} |
| // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction |
| // CHECK-NEXT: zero {za0.b, za1.b} |
| // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: |
| |
| zero {za2.h} |
| // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction |
| // CHECK-NEXT: zero {za2.h} |
| // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: |
| |
| zero {za0.s, za1.s, za2.s, za3.s, za4.s} |
| // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction |
| // CHECK-NEXT: zero {za0.s, za1.s, za2.s, za3.s, za4.s} |
| // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: |
| |
| zero {za0.d, za1.d, za2.d, za3.d, za4.d, za5.d, za6.d, za7.d, za8.d} |
| // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction |
| // CHECK-NEXT: zero {za0.d, za1.d, za2.d, za3.d, za4.d, za5.d, za6.d, za7.d, za8.d} |
| // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: |
| |
| zero {za0h.b} |
| // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction |
| // CHECK-NEXT: zero {za0h.b} |
| // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: |
| |
| zero {za0.s, za1h.s} |
| // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction |
| // CHECK-NEXT: zero {za0.s, za1h.s} |
| // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: |
| |
| zero {za15.q} |
| // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction |
| // CHECK-NEXT: zero {za15.q} |
| // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: |