brintos

brintos / llvm-project-archived public Read only

0
0
Text · 3.8 KiB · 569f277 Raw
104 lines · plain
1// RUN: not llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2  2>&1 < %s| FileCheck %s2 3 4// ------------------------------------------------------------------------- //5// Invalid element size6 7cdot  z0.s, z1.h, z31.h, #08// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid element width9// CHECK-NEXT: cdot  z0.s, z1.h, z31.h, #010// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:11 12cdot  z0.s, z1.s, z31.s, #013// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid element width14// CHECK-NEXT: cdot  z0.s, z1.s, z31.s, #015// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:16 17cdot  z0.s, z1.d, z31.d, #018// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid element width19// CHECK-NEXT: cdot  z0.s, z1.d, z31.d, #020// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:21 22cdot  z0.d, z1.b, z31.b, #023// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid element width24// CHECK-NEXT: cdot  z0.d, z1.b, z31.b, #025// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:26 27cdot  z0.d, z1.s, z31.s, #028// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid element width29// CHECK-NEXT: cdot  z0.d, z1.s, z31.s, #030// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:31 32cdot  z0.d, z1.d, z31.d, #033// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid element width34// CHECK-NEXT: cdot  z0.d, z1.d, z31.d, #035// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:36 37 38// ------------------------------------------------------------------------- //39// Invalid restricted register for indexed vector.40 41cdot  z0.s, z1.b, z8.b[3], #042// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction43// CHECK-NEXT: cdot  z0.s, z1.b, z8.b[3], #044// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:45 46cdot  z0.d, z1.h, z16.h[1], #047// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction48// CHECK-NEXT: cdot  z0.d, z1.h, z16.h[1], #049// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:50 51 52// ------------------------------------------------------------------------- //53// Invalid element index54 55cdot  z0.s, z1.b, z7.b[-1], #056// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: vector lane must be an integer in range [0, 3].57// CHECK-NEXT: cdot  z0.s, z1.b, z7.b[-1], #058// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:59 60cdot  z0.s, z1.b, z7.b[4], #061// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: vector lane must be an integer in range [0, 3].62// CHECK-NEXT: cdot  z0.s, z1.b, z7.b[4], #063// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:64 65cdot  z0.d, z1.h, z15.h[-1], #066// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: vector lane must be an integer in range [0, 1].67// CHECK-NEXT: cdot  z0.d, z1.h, z15.h[-1], #068// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:69 70cdot  z0.d, z1.h, z15.h[2], #071// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: vector lane must be an integer in range [0, 1].72// CHECK-NEXT: cdot  z0.d, z1.h, z15.h[2], #073// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:74 75 76// --------------------------------------------------------------------------//77// Invalid rotation78 79cdot z0.s, z1.b, z2.b[0], #36080// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: complex rotation must be 0, 90, 180 or 270.81// CHECK-NEXT: cdot z0.s, z1.b, z2.b[0], #36082// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:83 84cdot z0.d, z1.h, z2.h[0], #45085// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: complex rotation must be 0, 90, 180 or 270.86// CHECK-NEXT: cdot z0.d, z1.h, z2.h[0], #45087// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:88 89 90// --------------------------------------------------------------------------//91// Negative tests for instructions that are incompatible with movprfx92 93movprfx z0.d, p0/z, z7.d94cdot  z0.d, z1.h, z31.h, #095// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: instruction is unpredictable when following a predicated movprfx, suggest using unpredicated movprfx96// CHECK-NEXT: cdot  z0.d, z1.h, z31.h, #097// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:98 99movprfx z0.d, p0/z, z7.d100cdot  z0.d, z1.h, z15.h[1], #0101// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: instruction is unpredictable when following a predicated movprfx, suggest using unpredicated movprfx102// CHECK-NEXT: cdot  z0.d, z1.h, z15.h[1], #0103// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:104