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 6 dupm 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 11 dupm 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 16 dupm 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 21 dupm 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 26 dupm 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 31 dupm 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 36 dupm 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 45 movprfx z0.d, p0/z, z7.d 46 dupm 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 51 movprfx z0, z7 52 dupm 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