1// RUN: not llvm-mc -triple=aarch64 -show-encoding -mattr=+sve 2>&1 < %s| FileCheck %s 2 3// --------------------------------------------------------------------------// 4// Immediate not compatible with encode/decode function. 5 6dupm z5.b, #0xfa 7// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: expected compatible register or logical immediate 8// CHECK-NEXT: dupm z5.b, #0xfa 9// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: 10 11dupm z5.b, #0xfff9 12// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: expected compatible register or logical immediate 13// CHECK-NEXT: dupm z5.b, #0xfff9 14// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: 15 16dupm z5.h, #0xfffa 17// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: expected compatible register or logical immediate 18// CHECK-NEXT: dupm z5.h, #0xfffa 19// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: 20 21dupm z5.h, #0xfffffff9 22// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: expected compatible register or logical immediate 23// CHECK-NEXT: dupm z5.h, #0xfffffff9 24// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: 25 26dupm z5.s, #0xfffffffa 27// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: expected compatible register or logical immediate 28// CHECK-NEXT: dupm z5.s, #0xfffffffa 29// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: 30 31dupm z5.s, #0xffffffffffffff9 32// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: expected compatible register or logical immediate 33// CHECK-NEXT: dupm z5.s, #0xffffffffffffff9 34// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: 35 36dupm z15.d, #0xfffffffffffffffa 37// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: expected compatible register or logical immediate 38// CHECK-NEXT: dupm z15.d, #0xfffffffffffffffa 39// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: 40 41 42// --------------------------------------------------------------------------// 43// Negative tests for instructions that are incompatible with movprfx 44 45movprfx z0.d, p0/z, z7.d 46dupm z0.d, #0xfffffffffffffff9 47// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: instruction is unpredictable when following a movprfx, suggest replacing movprfx with mov 48// CHECK-NEXT: dupm z0.d, #0xfffffffffffffff9 49// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: 50 51movprfx z0, z7 52dupm z0.d, #0xfffffffffffffff9 53// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: instruction is unpredictable when following a movprfx, suggest replacing movprfx with mov 54// CHECK-NEXT: dupm z0.d, #0xfffffffffffffff9 55// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: 56