brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.6 KiB · 521fba4 Raw
46 lines · plain
1// RUN: not llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2-sm4  2>&1 < %s| FileCheck %s2 3 4// --------------------------------------------------------------------------//5// Source and Destination Registers must match6 7sm4e z0.s, z1.s, z2.s8// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: operand must match destination register9// CHECK-NEXT: sm4e z0.s, z1.s, z2.s10// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:11 12 13// --------------------------------------------------------------------------//14// Invalid element width15 16sm4e z0.b, z0.b, z0.b17// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid element width18// CHECK-NEXT: sm4e z0.b, z0.b, z0.b19// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:20 21sm4e z0.h, z0.h, z0.h22// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid element width23// CHECK-NEXT: sm4e z0.h, z0.h, z0.h24// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:25 26sm4e z0.d, z0.d, z0.d27// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid element width28// CHECK-NEXT: sm4e z0.d, z0.d, z0.d29// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:30 31 32// --------------------------------------------------------------------------//33// Negative tests for instructions that are incompatible with movprfx34 35movprfx z0.s, p0/z, z7.s36sm4e z0.s, z0.s, z1.s37// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: instruction is unpredictable when following a movprfx, suggest replacing movprfx with mov38// CHECK-NEXT: sm4e z0.s, z0.s, z1.s39// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:40 41movprfx z0, z742sm4e z0.s, z0.s, z1.s43// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: instruction is unpredictable when following a movprfx, suggest replacing movprfx with mov44// CHECK-NEXT: sm4e z0.s, z0.s, z1.s45// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:46