brintos

brintos / llvm-project-archived public Read only

0
0
Text · 10.7 KiB · e3cd077 Raw
244 lines · plain
1// RUN: not llvm-mc -triple=aarch64 -mattr=+sme-mop4 < %s 2>&1 | FileCheck %s2 3// FMOP4A4 5// Single vectors6 7fmop4a za0.d, z0.h, z16.h8// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid matrix operand9 10fmop4a za4.s, z0.h, z16.h11// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction12 13fmop4a za0.s, z0.d, z16.h14// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: Invalid restricted vector register15 16fmop4a za0.s, z15.h, z16.h17// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: Invalid restricted vector register18 19fmop4a za0.s, z16.h, z16.h20// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: Invalid restricted vector register21 22fmop4a za0.s, z0.h, z16.d23// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: Invalid restricted vector register, expected even register in z16.h..z30.h24 25fmop4a za0.s, z12.h, z17.h26// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: Invalid restricted vector register, expected even register in z16.h..z30.h27 28fmop4a za0.s, z12.h, z14.h29// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: Invalid restricted vector register, expected even register in z16.h..z30.h30 31fmop4a za0.s, z12.h, z31.h32// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: Invalid restricted vector register, expected even register in z16.h..z30.h33 34// Single and multiple vectors35 36fmop4a za0.d, z0.h, {z16.h-z17.h}37// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid matrix operand38 39fmop4a za4.s, z0.h, {z16.h-z17.h}40// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction41 42fmop4a za0.s, z0.d, {z16.h-z17.h}43// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: Invalid restricted vector register44 45fmop4a za0.s, z1.h, {z16.h-z17.h}46// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: Invalid restricted vector register47 48fmop4a za0.s, z16.h, {z16.h-z17.h}49// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: Invalid restricted vector register50 51fmop4a za0.s, z0.h, {z16.d-z17.d}52// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction53 54fmop4a za0.s, z0.h, {z17.h-z18.h}55// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: Invalid vector list, expected list with 2 consecutive SVE vectors in the range z16-z30, where the first vector is a multiple of 2 and with matching element types56 57fmop4a za0.s, z0.h, {z16.h-z18.h}58// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction59 60fmop4a za0.s, z0.h, {z12.h-z13.h}61// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: Invalid vector list, expected list with 2 consecutive SVE vectors in the range z16-z30, where the first vector is a multiple of 2 and with matching element types62 63// Multiple and single vectors64 65fmop4a za0.d, {z0.h-z1.h}, z16.h66// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid matrix operand67 68fmop4a za4.s, {z0.h-z1.h}, z16.h69// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction70 71fmop4a za0.s, {z0.d-z1.h}, z16.h72// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: mismatched register size suffix73 74fmop4a za0.s, {z1.h-z2.h}, z16.h75// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: Invalid vector list, expected list with 2 consecutive SVE vectors in the range z0-z14, where the first vector is a multiple of 2 and with matching element types76 77fmop4a za4.s, {z0.h-z2.h}, z16.h78// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction79 80fmop4a za0.s, {z16.h-z17.h}, z16.h81// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: Invalid vector list, expected list with 2 consecutive SVE vectors in the range z0-z14, where the first vector is a multiple of 2 and with matching element types82 83fmop4a za0.s, {z0.h-z1.h}, z16.d84// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: Invalid restricted vector register, expected even register in z16.h..z30.h85 86fmop4a za0.s, {z0.h-z1.h}, z17.h87// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: Invalid restricted vector register, expected even register in z16.h..z30.h88 89fmop4a za0.s, {z0.h-z1.h}, z12.h90// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: Invalid restricted vector register, expected even register in z16.h..z30.h91 92// Multiple vectors93 94fmop4a za0.d, {z0.h-z1.h}, {z16.h-z17.h}95// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid matrix operand96 97fmop4a za4.s, {z0.h-z1.h}, {z16.h-z17.h}98// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction99 100fmop4a za0.s, {z0.d-z1.d}, {z16.h-z17.h}101// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction102 103fmop4a za0.s, {z1.h-z2.h}, {z16.h-z17.h}104// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: Invalid vector list, expected list with 2 consecutive SVE vectors in the range z0-z14, where the first vector is a multiple of 2 and with matching element types105 106fmop4a za0.s, {z0.h-z2.h}, {z16.h-z17.h}107// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction108 109fmop4a za0.s, {z18.h-z19.h}, {z16.h-z17.h}110// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: Invalid vector list, expected list with 2 consecutive SVE vectors in the range z0-z14, where the first vector is a multiple of 2 and with matching element types111 112fmop4a za0.s, {z0.h-z1.h}, {z16.d-z17.d}113// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction114 115fmop4a za0.s, {z0.h-z1.h}, {z19.h-z20.h}116// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: Invalid vector list, expected list with 2 consecutive SVE vectors in the range z16-z30, where the first vector is a multiple of 2 and with matching element types117 118fmop4a za0.s, {z0.h-z1.h}, {z18.h-z20.h}119// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction120 121fmop4a za0.s, {z0.h-z1.h}, {z10.h-z11.h}122// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: Invalid vector list, expected list with 2 consecutive SVE vectors in the range z16-z30, where the first vector is a multiple of 2 and with matching element types123 124// FMOP4S125 126// Single vectors127 128fmop4a za0.d, z0.h, z16.h129// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid matrix operand130 131fmop4s za4.s, z0.h, z16.h132// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction133 134fmop4s za0.s, z0.d, z16.h135// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: Invalid restricted vector register136 137fmop4s za0.s, z15.h, z16.h138// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: Invalid restricted vector register139 140fmop4s za0.s, z16.h, z16.h141// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: Invalid restricted vector register142 143fmop4s za0.s, z0.h, z16.d144// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: Invalid restricted vector register, expected even register in z16.h..z30.h145 146fmop4s za0.s, z12.h, z17.h147// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: Invalid restricted vector register, expected even register in z16.h..z30.h148 149fmop4s za0.s, z12.h, z14.h150// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: Invalid restricted vector register, expected even register in z16.h..z30.h151 152fmop4s za0.s, z12.h, z31.h153// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: Invalid restricted vector register, expected even register in z16.h..z30.h154 155// Single and multiple vectors156 157fmop4s za0.d, z0.h, {z16.h-z17.h}158// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid matrix operand159 160fmop4s za4.s, z0.h, {z16.h-z17.h}161// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction162 163fmop4s za0.s, z0.d, {z16.h-z17.h}164// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: Invalid restricted vector register165 166fmop4s za0.s, z1.h, {z16.h-z17.h}167// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: Invalid restricted vector register168 169fmop4s za0.s, z16.h, {z16.h-z17.h}170// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: Invalid restricted vector register171 172fmop4s za0.s, z0.h, {z16.d-z17.d}173// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction174 175fmop4s za0.s, z0.h, {z17.h-z18.h}176// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: Invalid vector list, expected list with 2 consecutive SVE vectors in the range z16-z30, where the first vector is a multiple of 2 and with matching element types177 178fmop4s za0.s, z0.h, {z16.h-z18.h}179// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction180 181fmop4s za0.s, z0.h, {z12.h-z13.h}182// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: Invalid vector list, expected list with 2 consecutive SVE vectors in the range z16-z30, where the first vector is a multiple of 2 and with matching element types183 184// Multiple and single vectors185 186fmop4s za0.d, {z0.h-z1.h}, z16.h187// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid matrix operand188 189fmop4s za4.s, {z0.h-z1.h}, z16.h190// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction191 192fmop4s za0.s, {z0.d-z1.h}, z16.h193// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: mismatched register size suffix194 195fmop4s za0.s, {z1.h-z2.h}, z16.h196// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: Invalid vector list, expected list with 2 consecutive SVE vectors in the range z0-z14, where the first vector is a multiple of 2 and with matching element types197 198fmop4s za0.s, {z0.h-z2.h}, z16.h199// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction200 201fmop4s za0.s, {z16.h-z17.h}, z16.h202// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: Invalid vector list, expected list with 2 consecutive SVE vectors in the range z0-z14, where the first vector is a multiple of 2 and with matching element types203 204fmop4s za0.s, {z0.h-z1.h}, z16.d205// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: Invalid restricted vector register, expected even register in z16.h..z30.h206 207fmop4s za0.s, {z0.h-z1.h}, z17.h208// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: Invalid restricted vector register, expected even register in z16.h..z30.h209 210fmop4s za0.s, {z0.h-z1.h}, z12.h211// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: Invalid restricted vector register, expected even register in z16.h..z30.h212 213// Multiple vectors214 215fmop4s za0.d, {z0.h-z1.h}, {z16.h-z17.h}216// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid matrix operand217 218fmop4s za4.s, {z0.h-z1.h}, {z16.h-z17.h}219// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction220 221fmop4s za0.s, {z0.d-z1.d}, {z16.h-z17.h}222// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction223 224fmop4s za0.s, {z1.h-z2.h}, {z16.h-z17.h}225// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: Invalid vector list, expected list with 2 consecutive SVE vectors in the range z0-z14, where the first vector is a multiple of 2 and with matching element types226 227fmop4s za0.s, {z0.h-z2.h}, {z16.h-z17.h}228// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction229 230fmop4s za0.s, {z18.h-z19.h}, {z16.h-z17.h}231// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: Invalid vector list, expected list with 2 consecutive SVE vectors in the range z0-z14, where the first vector is a multiple of 2 and with matching element types232 233fmop4s za0.s, {z0.h-z1.h}, {z16.d-z17.d}234// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction235 236fmop4s za0.s, {z0.h-z1.h}, {z19.h-z20.h}237// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: Invalid vector list, expected list with 2 consecutive SVE vectors in the range z16-z30, where the first vector is a multiple of 2 and with matching element types238 239fmop4s za0.s, {z0.h-z1.h}, {z18.h-z20.h}240// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction241 242fmop4s za0.s, {z0.h-z1.h}, {z10.h-z11.h}243// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: Invalid vector list, expected list with 2 consecutive SVE vectors in the range z16-z30, where the first vector is a multiple of 2 and with matching element types244