brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.6 KiB · 3b3a24a Raw
75 lines · plain
1// RUN: not llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2 2>&1 < %s| FileCheck %s2 3 4// --------------------------------------------------------------------------//5// Invalid element width6 7fcvtxnt z0.b, p0/m, z0.b8// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid element width9// CHECK-NEXT: fcvtxnt z0.b, p0/m, z0.b10// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:11 12fcvtxnt z0.h, p0/m, z0.h13// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid element width14// CHECK-NEXT: fcvtxnt z0.h, p0/m, z0.h15// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:16 17fcvtxnt z0.s, p0/m, z0.s18// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid element width19// CHECK-NEXT: fcvtxnt z0.s, p0/m, z0.s20// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:21 22fcvtxnt z0.d, p0/m, z0.d23// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid element width24// CHECK-NEXT: fcvtxnt z0.d, p0/m, z0.d25// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:26 27fcvtxnt z0.h, p0/m, z0.s28// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid element width29// CHECK-NEXT: fcvtxnt z0.h, p0/m, z0.s30// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:31 32fcvtxnt z0.b, p0/m, z0.h33// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid element width34// CHECK-NEXT: fcvtxnt z0.b, p0/m, z0.h35// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:36 37fcvtxnt z0.d, p0/m, z0.q38// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid element width39// CHECK-NEXT: fcvtxnt z0.d, p0/m, z0.q40// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:41 42 43// --------------------------------------------------------------------------//44// Invalid predicate operation45 46fcvtxnt z0.s, p0/z, z0.d47// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: instruction requires: sme2p2 or sve2p248// CHECK-NEXT: fcvtxnt z0.s, p0/z, z0.d49// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:50 51 52// --------------------------------------------------------------------------//53// Predicate not in restricted predicate range54 55fcvtxnt z0.s, p8/m, z0.d56// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid restricted predicate register, expected p0..p7 (without element suffix)57// CHECK-NEXT: fcvtxnt z0.s, p8/m, z0.d58// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:59 60 61// --------------------------------------------------------------------------//62// Negative tests for instructions that are incompatible with movprfx63 64movprfx z0.s, p0/m, z7.s65fcvtxnt z0.s, p7/m, z1.d66// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: instruction is unpredictable when following a movprfx, suggest replacing movprfx with mov67// CHECK-NEXT: fcvtxnt z0.s, p7/m, z1.d68// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:69 70movprfx z0, z771fcvtxnt z0.s, p7/m, z1.d72// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: instruction is unpredictable when following a movprfx, suggest replacing movprfx with mov73// CHECK-NEXT: fcvtxnt z0.s, p7/m, z1.d74// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:75