99 lines · plain
1// RUN: not llvm-mc -triple=aarch64 -show-encoding -mattr=+sve 2>&1 < %s| FileCheck %s2 3// --------------------------------------------------------------------------//4// Immediate out of lower bound [-16, 15].5 6index z27.b, #-17, #-167// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: index must be an integer in range [-16, 15].8// CHECK-NEXT: index z27.b, #-17, #-169// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:10 11index z11.h, #-16, #-1712// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: index must be an integer in range [-16, 15].13// CHECK-NEXT: index z11.h, #-16, #-1714// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:15 16index z2.s, #16, #-1617// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: index must be an integer in range [-16, 15].18// CHECK-NEXT: index z2.s, #16, #-1619// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:20 21index z2.d, #-16, #1622// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: index must be an integer in range [-16, 15].23// CHECK-NEXT: index z2.d, #-16, #1624// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:25 26index z4.b, #-17, w2827// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: index must be an integer in range [-16, 15].28// CHECK-NEXT: index z4.b, #-17, w2829// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:30 31index z9.h, #16, w2332// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: index must be an integer in range [-16, 15].33// CHECK-NEXT: index z9.h, #16, w2334// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:35 36index z3.s, w10, #-1737// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: index must be an integer in range [-16, 15].38// CHECK-NEXT: index z3.s, w10, #-1739// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:40 41index z17.d, x9, #1642// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: index must be an integer in range [-16, 15].43// CHECK-NEXT: index z17.d, x9, #1644// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:45 46 47// --------------------------------------------------------------------------//48// Invalid register49 50index z17.s, x9, w751// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: index must be an integer in range [-16, 15].52// CHECK-NEXT: index z17.s, x9, w753// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:54 55index z17.d, w9, w756// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: index must be an integer in range [-16, 15].57// CHECK-NEXT: index z17.d, w9, w758// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:59 60 61// --------------------------------------------------------------------------//62// Negative tests for instructions that are incompatible with movprfx63 64movprfx z21.d, p0/z, z28.d65index z21.d, x10, x2166// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: instruction is unpredictable when following a movprfx, suggest replacing movprfx with mov67// CHECK-NEXT: index z21.d, x10, x2168// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:69 70movprfx z21, z2871index z21.d, x10, x2172// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: instruction is unpredictable when following a movprfx, suggest replacing movprfx with mov73// CHECK-NEXT: index z21.d, x10, x2174// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:75 76movprfx z23.d, p0/z, z30.d77index z23.d, x13, #878// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: instruction is unpredictable when following a movprfx, suggest replacing movprfx with mov79// CHECK-NEXT: index z23.d, x13, #880// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:81 82movprfx z23, z3083index z23.d, x13, #884// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: instruction is unpredictable when following a movprfx, suggest replacing movprfx with mov85// CHECK-NEXT: index z23.d, x13, #886// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:87 88movprfx z23.d, p0/z, z30.d89index z23.d, #13, x890// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: instruction is unpredictable when following a movprfx, suggest replacing movprfx with mov91// CHECK-NEXT: index z23.d, #13, x892// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:93 94movprfx z23, z3095index z23.d, #13, x896// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: instruction is unpredictable when following a movprfx, suggest replacing movprfx with mov97// CHECK-NEXT: index z23.d, #13, x898// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:99