1// RUN: not llvm-mc -triple=aarch64 -show-encoding -mattr=+sve 2>&1 < %s| FileCheck %s 2 3 4// --------------------------------------------------------------------------// 5// Invalid predicate suffix 6fcpy 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 11fcpy 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 16fcpy 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 25fcpy 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 30fcpy 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 35fcpy 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 40fcpy 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 45fcpy 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 50fcpy 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 55fcpy 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 60fcpy 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 65fcpy 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 70fcpy 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 75fcpy 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 80fcpy 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