Home | History | Annotate | Download | only in SVE
      1 // RUN: not llvm-mc -triple=aarch64 -show-encoding -mattr=+sve  2>&1 < %s| FileCheck %s
      2 
      3 
      4 // ------------------------------------------------------------------------- //
      5 // Invalid destination or source register.
      6 
      7 smaxv d0, p7, z31.b
      8 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid element width
      9 // CHECK-NEXT: smaxv d0, p7, z31.b
     10 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:
     11 
     12 smaxv d0, p7, z31.h
     13 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid element width
     14 // CHECK-NEXT: smaxv d0, p7, z31.h
     15 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:
     16 
     17 smaxv d0, p7, z31.s
     18 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid element width
     19 // CHECK-NEXT: smaxv d0, p7, z31.s
     20 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:
     21 
     22 smaxv v0.2d, p7, z31.d
     23 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
     24 // CHECK-NEXT: smaxv v0.2d, p7, z31.d
     25 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:
     26 
     27 
     28 // ------------------------------------------------------------------------- //
     29 // Invalid predicate
     30 
     31 smaxv h0, p8, z31.h
     32 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: restricted predicate has range [0, 7].
     33 // CHECK-NEXT: smaxv h0, p8, z31.h
     34 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:
     35 
     36 // --------------------------------------------------------------------------//
     37 // Negative tests for instructions that are incompatible with movprfx
     38 
     39 movprfx z31.d, p7/z, z6.d
     40 smaxv d0, p7, z31.d
     41 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: instruction is unpredictable when following a movprfx, suggest replacing movprfx with mov
     42 // CHECK-NEXT: smaxv d0, p7, z31.d
     43 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:
     44 
     45 movprfx z31, z6
     46 smaxv d0, p7, z31.d
     47 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: instruction is unpredictable when following a movprfx, suggest replacing movprfx with mov
     48 // CHECK-NEXT: smaxv d0, p7, z31.d
     49 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:
     50