brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.6 KiB · ee6010a Raw
61 lines · plain
1// RUN: not llvm-mc -triple=aarch64 -show-encoding -mattr=+sme2p1 2>&1 < %s | FileCheck %s2 3// --------------------------------------------------------------------------//4// Out of range index offset5 6zero za.d[w11, 8, vgx2]7// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: immediate must be an integer in range [0, 7].8// CHECK-NEXT: zero za.d[w11, 8, vgx2]9// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:10 11zero za.d[w11, -1, vgx4]12// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: immediate must be an integer in range [0, 7].13// CHECK-NEXT: zero za.d[w11, -1, vgx4]14// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:15 16zero za.d[w11, 5:8, vgx4]17// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: vector select offset must be an immediate range of the form <immf>:<imml>, where the first immediate is a multiple of 4 in the range [0, 4] or [0, 12] depending on the instruction, and the second immediate is immf + 3.18// CHECK-NEXT: zero za.d[w11, 5:8, vgx4]19// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:20 21zero za.d[w11, 5:8, vgx2]22// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: vector select offset must be an immediate range of the form <immf>:<imml>, where the first immediate is a multiple of 4 in the range [0, 4] or [0, 12] depending on the instruction, and the second immediate is immf + 3.23// CHECK-NEXT: zero za.d[w11, 5:8, vgx2]24// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:25 26zero za.d[w11, 0:4, vgx4]27// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: immediate must be an integer in range [0, 7].28// CHECK-NEXT: zero za.d[w11, 0:4, vgx4]29// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:30 31zero za.d[w11, 0:4, vgx2]32// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: immediate must be an integer in range [0, 7].33// CHECK-NEXT: zero za.d[w11, 0:4, vgx2]34// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:35 36zero za.d[w11, 11:15]37// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: immediate must be an integer in range [0, 7].38// CHECK-NEXT: zero za.d[w11, 11:15]39// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:40 41// --------------------------------------------------------------------------//42// Invalid select register43 44zero za.d[w7, 7, vgx2]45// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: operand must be a register in range [w8, w11]46// CHECK-NEXT: zero za.d[w7, 7, vgx2]47// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:48 49zero za.d[w12, 7, vgx2]50// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: operand must be a register in range [w8, w11]51// CHECK-NEXT: zero za.d[w12, 7, vgx2]52// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:53 54// --------------------------------------------------------------------------//55// Invalid suffix56 57zero za.s[w11, 7, vgx2]58// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid matrix operand, expected suffix .d59// CHECK-NEXT: zero za.s[w11, 7, vgx2]60// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:61