1 // RUN: not llvm-mc -triple=aarch64 -show-encoding -mattr=+sve 2>&1 < %s| FileCheck %s 2 3 4 // --------------------------------------------------------------------------// 5 // Invalid predicate suffix 6 fcpy z0.h, p0/z, #0.0 7 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction 8 // CHECK-NEXT: fcpy z0.h, p0/z, #0.0 9 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: 10 11 fcpy z0.s, p0/z, #0.0 12 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction 13 // CHECK-NEXT: fcpy z0.s, p0/z, #0.0 14 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: 15 16 fcpy z0.d, p0/z, #0.0 17 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction 18 // CHECK-NEXT: fcpy z0.d, p0/z, #0.0 19 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: 20 21 22 // --------------------------------------------------------------------------// 23 // Invalid immediates 24 25 fcpy z0.h, p0/m, #-0.05859375 // r = -4, n = 15 26 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: expected compatible register or floating-point constant 27 // CHECK-NEXT: fcpy z0.h, p0/m, #-0.05859375 // r = -4, n = 15 28 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: 29 30 fcpy z0.s, p0/m, #-0.05859375 // r = -4, n = 15 31 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: expected compatible register or floating-point constant 32 // CHECK-NEXT: fcpy z0.s, p0/m, #-0.05859375 // r = -4, n = 15 33 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: 34 35 fcpy z0.d, p0/m, #-0.05859375 // r = -4, n = 15 36 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: expected compatible register or floating-point constant 37 // CHECK-NEXT: fcpy z0.d, p0/m, #-0.05859375 // r = -4, n = 15 38 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: 39 40 fcpy z0.h, p0/m, #-64.00000000 // r = 5, n = 32 41 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: expected compatible register or floating-point constant 42 // CHECK-NEXT: fcpy z0.h, p0/m, #-64.00000000 // r = 5, n = 32 43 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: 44 45 fcpy z0.s, p0/m, #-64.00000000 // r = 5, n = 32 46 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: expected compatible register or floating-point constant 47 // CHECK-NEXT: fcpy z0.s, p0/m, #-64.00000000 // r = 5, n = 32 48 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: 49 50 fcpy z0.d, p0/m, #-64.00000000 // r = 5, n = 32 51 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: expected compatible register or floating-point constant 52 // CHECK-NEXT: fcpy z0.d, p0/m, #-64.00000000 // r = 5, n = 32 53 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: 54 55 fcpy z0.h, p0/m, #0.05859375 // r = -4, n = 15 56 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: expected compatible register or floating-point constant 57 // CHECK-NEXT: fcpy z0.h, p0/m, #0.05859375 // r = -4, n = 15 58 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: 59 60 fcpy z0.s, p0/m, #0.05859375 // r = -4, n = 15 61 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: expected compatible register or floating-point constant 62 // CHECK-NEXT: fcpy z0.s, p0/m, #0.05859375 // r = -4, n = 15 63 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: 64 65 fcpy z0.d, p0/m, #0.05859375 // r = -4, n = 15 66 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: expected compatible register or floating-point constant 67 // CHECK-NEXT: fcpy z0.d, p0/m, #0.05859375 // r = -4, n = 15 68 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: 69 70 fcpy z0.h, p0/m, #64.00000000 // r = 5, n = 32 71 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: expected compatible register or floating-point constant 72 // CHECK-NEXT: fcpy z0.h, p0/m, #64.00000000 // r = 5, n = 32 73 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: 74 75 fcpy z0.s, p0/m, #64.00000000 // r = 5, n = 32 76 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: expected compatible register or floating-point constant 77 // CHECK-NEXT: fcpy z0.s, p0/m, #64.00000000 // r = 5, n = 32 78 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: 79 80 fcpy z0.d, p0/m, #64.00000000 // r = 5, n = 32 81 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: expected compatible register or floating-point constant 82 // CHECK-NEXT: fcpy z0.d, p0/m, #64.00000000 // r = 5, n = 32 83 // CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: 84