brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.8 KiB · b25019b Raw
86 lines · plain
1// RUN: not llvm-mc -triple=aarch64 -show-encoding -mattr=+sve  2>&1 < %s| FileCheck %s2 3// ------------------------------------------------------------------------- //4// Invalid result register5 6inch w07// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand8// CHECK-NEXT: inch w09// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:10 11inch sp12// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand13// CHECK-NEXT: inch sp14// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:15 16// inch requires z0.h17inch z0.s18// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid element width19// CHECK-NEXT: inch z0.s20// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:21 22 23// ------------------------------------------------------------------------- //24// Immediate not compatible with encode/decode function.25 26inch x0, all, mul #-127// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: immediate must be an integer in range [1, 16]28// CHECK-NEXT: inch x0, all, mul #-129// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:30 31inch x0, all, mul #032// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: immediate must be an integer in range [1, 16]33// CHECK-NEXT: inch x0, all, mul #034// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:35 36inch x0, all, mul #1737// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: immediate must be an integer in range [1, 16]38// CHECK-NEXT: inch x0, all, mul #1739// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:40 41 42// ------------------------------------------------------------------------- //43// Invalid predicate patterns44 45inch x0, vl51246// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand47// CHECK-NEXT: inch x0, vl51248// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:49 50inch x0, vl951// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand52// CHECK-NEXT: inch x0, vl953// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:54 55inch x0, #-156// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid predicate pattern57// CHECK-NEXT: inch x0, #-158// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:59 60inch x0, #3261// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid predicate pattern62// CHECK-NEXT: inch x0, #3263// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:64 65 66// --------------------------------------------------------------------------//67// Negative tests for instructions that are incompatible with movprfx68 69movprfx z0.h, p0/z, z7.h70inch    z0.h71// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: instruction is unpredictable when following a predicated movprfx, suggest using unpredicated movprfx72// CHECK-NEXT: inch    z0.h73// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:74 75movprfx z0.h, p0/z, z7.h76inch    z0.h, all, mul #1677// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: instruction is unpredictable when following a predicated movprfx, suggest using unpredicated movprfx78// CHECK-NEXT: inch    z0.h, all, mul #1679// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:80 81movprfx z0.h, p0/z, z7.h82inch    z0.h, all83// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: instruction is unpredictable when following a predicated movprfx, suggest using unpredicated movprfx84// CHECK-NEXT: inch    z0.h, all85// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:86