1// RUN: not llvm-mc -arch=amdgcn %s 2>&1 | FileCheck %s 2// RUN: not llvm-mc -arch=amdgcn -mcpu=tahiti %s 2>&1 | FileCheck %s 3 4// offset too big 5// CHECK: error: invalid operand for instruction 6ds_add_u32 v2, v4 offset:1000000000 7 8// offset too big 9// CHECK: error: invalid operand for instruction 10ds_add_u32 v2, v4 offset:0x10000 11 12// offset0 twice 13// CHECK: error: invalid operand for instruction 14ds_write2_b32 v2, v4, v6 offset0:4 offset0:8 15 16// offset1 twice 17// CHECK: error: invalid operand for instruction 18ds_write2_b32 v2, v4, v6 offset1:4 offset1:8 19 20// offset0 too big 21// CHECK: invalid operand for instruction 22ds_write2_b32 v2, v4, v6 offset0:1000000000 23 24// offset0 too big 25// CHECK: invalid operand for instruction 26ds_write2_b32 v2, v4, v6 offset0:0x100 27 28// offset1 too big 29// CHECK: invalid operand for instruction 30ds_write2_b32 v2, v4, v6 offset1:1000000000 31 32// offset1 too big 33// CHECK: invalid operand for instruction 34ds_write2_b32 v2, v4, v6 offset1:0x100 35 36//===----------------------------------------------------------------------===// 37// swizzle 38//===----------------------------------------------------------------------===// 39 40// CHECK: error: expected a colon 41ds_swizzle_b32 v8, v2 offset 42 43// CHECK: error: failed parsing operand 44ds_swizzle_b32 v8, v2 offset: 45 46// CHECK: error: expected a colon 47ds_swizzle_b32 v8, v2 offset- 48 49// CHECK: error: expected absolute expression 50ds_swizzle_b32 v8, v2 offset:SWIZZLE(QUAD_PERM, 0, 1, 2, 3) 51 52// CHECK: error: expected a swizzle mode 53ds_swizzle_b32 v8, v2 offset:swizzle(quad_perm, 0, 1, 2, 3) 54 55// CHECK: error: expected a swizzle mode 56ds_swizzle_b32 v8, v2 offset:swizzle(XXX,1) 57 58// CHECK: error: expected a comma 59ds_swizzle_b32 v8, v2 offset:swizzle(QUAD_PERM 60 61// CHECK: error: expected a comma 62ds_swizzle_b32 v8, v2 offset:swizzle(QUAD_PERM, 0, 1, 2) 63 64// CHECK: error: expected a closing parentheses 65ds_swizzle_b32 v8, v2 offset:swizzle(QUAD_PERM, 0, 1, 2, 3 66 67// CHECK: error: expected a closing parentheses 68ds_swizzle_b32 v8, v2 offset:swizzle(QUAD_PERM, 0, 1, 2, 3, 4) 69 70// CHECK: error: expected a 2-bit lane id 71ds_swizzle_b32 v8, v2 offset:swizzle(QUAD_PERM, -1, 1, 2, 3) 72 73// CHECK: error: expected a 2-bit lane id 74ds_swizzle_b32 v8, v2 offset:swizzle(QUAD_PERM, 4, 1, 2, 3) 75 76// CHECK: error: group size must be in the interval [1,16] 77ds_swizzle_b32 v8, v2 offset:swizzle(SWAP,0) 78 79// CHECK: error: group size must be a power of two 80ds_swizzle_b32 v8, v2 offset:swizzle(SWAP,3) 81 82// CHECK: error: group size must be in the interval [1,16] 83ds_swizzle_b32 v8, v2 offset:swizzle(SWAP,17) 84 85// CHECK: error: group size must be in the interval [1,16] 86ds_swizzle_b32 v8, v2 offset:swizzle(SWAP,32) 87 88// CHECK: error: group size must be in the interval [2,32] 89ds_swizzle_b32 v8, v2 offset:swizzle(REVERSE,1) 90 91// CHECK: error: group size must be a power of two 92ds_swizzle_b32 v8, v2 offset:swizzle(REVERSE,3) 93 94// CHECK: error: group size must be in the interval [2,32] 95ds_swizzle_b32 v8, v2 offset:swizzle(REVERSE,33) 96 97// CHECK: error: group size must be in the interval [2,32] 98ds_swizzle_b32 v8, v2 offset:swizzle(BROADCAST,1,0) 99 100// CHECK: error: group size must be a power of two 101ds_swizzle_b32 v8, v2 offset:swizzle(BROADCAST,3,1) 102 103// CHECK: error: group size must be in the interval [2,32] 104ds_swizzle_b32 v8, v2 offset:swizzle(BROADCAST,33,1) 105 106// CHECK: 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: 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: error: expected a string 113ds_swizzle_b32 v8, v2 offset:swizzle(BITMASK_PERM, pppii) 114 115// CHECK: error: expected a 5-character mask 116ds_swizzle_b32 v8, v2 offset:swizzle(BITMASK_PERM, "") 117 118// CHECK: error: expected a 5-character mask 119ds_swizzle_b32 v8, v2 offset:swizzle(BITMASK_PERM, "ppii") 120 121// CHECK: error: expected a 5-character mask 122ds_swizzle_b32 v8, v2 offset:swizzle(BITMASK_PERM, "pppiii") 123 124// CHECK: invalid mask 125ds_swizzle_b32 v8, v2 offset:swizzle(BITMASK_PERM, "pppi2") 126