126 lines · plain
1// RUN: not llvm-mc -triple=amdgcn %s 2>&1 | FileCheck --implicit-check-not=error: %s2// RUN: not llvm-mc -triple=amdgcn -mcpu=tahiti %s 2>&1 | FileCheck --implicit-check-not=error: %s3 4// offset too big5// CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: expected a 16-bit unsigned offset6ds_add_u32 v2, v4 offset:10000000007 8// offset too big9// CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: expected a 16-bit unsigned offset10ds_add_u32 v2, v4 offset:0x1000011 12// offset0 twice13// CHECK: error: not a valid operand.14ds_write2_b32 v2, v4, v6 offset0:4 offset0:815 16// offset1 twice17// CHECK: error: invalid operand for instruction18ds_write2_b32 v2, v4, v6 offset1:4 offset1:819 20// offset0 too big21// CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: invalid offset0 value.22ds_write2_b32 v2, v4, v6 offset0:100000000023 24// offset0 too big25// CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: invalid offset0 value.26ds_write2_b32 v2, v4, v6 offset0:0x10027 28// offset1 too big29// CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: invalid offset1 value.30ds_write2_b32 v2, v4, v6 offset1:100000000031 32// offset1 too big33// CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: invalid offset1 value.34ds_write2_b32 v2, v4, v6 offset1:0x10035 36//===----------------------------------------------------------------------===//37// swizzle38//===----------------------------------------------------------------------===//39 40// CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: expected a colon41ds_swizzle_b32 v8, v2 offset42 43// CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: unknown token in expression44ds_swizzle_b32 v8, v2 offset:45 46// CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: expected a colon47ds_swizzle_b32 v8, v2 offset-48 49// CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: expected a swizzle macro or an absolute expression50ds_swizzle_b32 v8, v2 offset:SWIZZLE(QUAD_PERM, 0, 1, 2, 3)51 52// CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: expected a swizzle mode53ds_swizzle_b32 v8, v2 offset:swizzle(quad_perm, 0, 1, 2, 3)54 55// CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: expected a swizzle mode56ds_swizzle_b32 v8, v2 offset:swizzle(XXX,1)57 58// CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: expected a comma59ds_swizzle_b32 v8, v2 offset:swizzle(QUAD_PERM60 61// CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: expected a comma62ds_swizzle_b32 v8, v2 offset:swizzle(QUAD_PERM, 0, 1, 2)63 64// CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: expected a closing parentheses65ds_swizzle_b32 v8, v2 offset:swizzle(QUAD_PERM, 0, 1, 2, 366 67// CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: expected a closing parentheses68ds_swizzle_b32 v8, v2 offset:swizzle(QUAD_PERM, 0, 1, 2, 3, 4)69 70// CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: expected a 2-bit lane id71ds_swizzle_b32 v8, v2 offset:swizzle(QUAD_PERM, -1, 1, 2, 3)72 73// CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: expected a 2-bit lane id74ds_swizzle_b32 v8, v2 offset:swizzle(QUAD_PERM, 4, 1, 2, 3)75 76// CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: group size must be in the interval [1,16]77ds_swizzle_b32 v8, v2 offset:swizzle(SWAP,0)78 79// CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: group size must be a power of two80ds_swizzle_b32 v8, v2 offset:swizzle(SWAP,3)81 82// CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: group size must be in the interval [1,16]83ds_swizzle_b32 v8, v2 offset:swizzle(SWAP,17)84 85// CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: group size must be in the interval [1,16]86ds_swizzle_b32 v8, v2 offset:swizzle(SWAP,32)87 88// CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: group size must be in the interval [2,32]89ds_swizzle_b32 v8, v2 offset:swizzle(REVERSE,1)90 91// CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: group size must be a power of two92ds_swizzle_b32 v8, v2 offset:swizzle(REVERSE,3)93 94// CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: group size must be in the interval [2,32]95ds_swizzle_b32 v8, v2 offset:swizzle(REVERSE,33)96 97// CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: group size must be in the interval [2,32]98ds_swizzle_b32 v8, v2 offset:swizzle(BROADCAST,1,0)99 100// CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: group size must be a power of two101ds_swizzle_b32 v8, v2 offset:swizzle(BROADCAST,3,1)102 103// CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: group size must be in the interval [2,32]104ds_swizzle_b32 v8, v2 offset:swizzle(BROADCAST,33,1)105 106// CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: lane id must be in the interval [0,group size - 1]107ds_swizzle_b32 v8, v2 offset:swizzle(BROADCAST,2,-1)108 109// CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: lane id must be in the interval [0,group size - 1]110ds_swizzle_b32 v8, v2 offset:swizzle(BROADCAST,2,2)111 112// CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: expected a string113ds_swizzle_b32 v8, v2 offset:swizzle(BITMASK_PERM, pppii)114 115// CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: expected a 5-character mask116ds_swizzle_b32 v8, v2 offset:swizzle(BITMASK_PERM, "")117 118// CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: expected a 5-character mask119ds_swizzle_b32 v8, v2 offset:swizzle(BITMASK_PERM, "ppii")120 121// CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: expected a 5-character mask122ds_swizzle_b32 v8, v2 offset:swizzle(BITMASK_PERM, "pppiii")123 124// CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: invalid mask125ds_swizzle_b32 v8, v2 offset:swizzle(BITMASK_PERM, "pppi2")126