1// RUN: not llvm-mc -arch=amdgcn -mcpu=tonga %s 2>&1 | FileCheck -check-prefix=NOVI --implicit-check-not=error: %s 2 3s_mov_b32 s1, s 1 4// NOVI: error: invalid operand for instruction 5 6s_mov_b32 s1, s[0 1 7// NOVI: error: expected a closing square bracket 8 9s_mov_b32 s1, s[0:0 1 10// NOVI: error: expected a closing square bracket 11 12s_mov_b32 s1, [s[0 1 13// NOVI: error: expected a closing square bracket 14 15s_mov_b32 s1, [s[0:1] 1 16// NOVI: error: expected a single 32-bit register 17 18s_mov_b32 s1, [s0, 1 19// NOVI: error: expected a register or a list of registers 20 21s_mov_b32 s1, s999 1 22// NOVI: error: register index is out of range 23 24s_mov_b32 s1, s[1:2] 1 25// NOVI: error: invalid register alignment 26 27s_mov_b32 s1, s[0:2] 1 28// NOVI: error: invalid operand for instruction 29 30s_mov_b32 s1, xnack_mask_lo 1 31// NOVI: error: register not available on this GPU 32 33s_mov_b32 s1, s s0 34// NOVI: error: invalid operand for instruction 35 36s_mov_b32 s1, s[0 s0 37// NOVI: error: expected a closing square bracket 38 39s_mov_b32 s1, s[0:0 s0 40// NOVI: error: expected a closing square bracket 41 42s_mov_b32 s1, [s[0 s0 43// NOVI: error: expected a closing square bracket 44 45s_mov_b32 s1, [s[0:1] s0 46// NOVI: error: expected a single 32-bit register 47 48s_mov_b32 s1, [s0, s0 49// NOVI: error: registers in a list must have consecutive indices 50 51s_mov_b32 s1, s999 s0 52// NOVI: error: register index is out of range 53 54s_mov_b32 s1, s[1:2] s0 55// NOVI: error: invalid register alignment 56 57s_mov_b32 s1, s[0:2] vcc_lo 58// NOVI: error: invalid operand for instruction 59 60s_mov_b32 s1, xnack_mask_lo s1 61// NOVI: error: register not available on this GPU 62 63exp mrt0 v1, v2, v3, v4000 off 64// NOVI: error: register index is out of range 65 66v_add_f64 v[0:1], v[0:1], v[0xF00000001:0x2] 67// NOVI: error: invalid register index 68 69v_add_f64 v[0:1], v[0:1], v[0x1:0xF00000002] 70// NOVI: error: invalid register index 71 72s_mov_b32 s1, s[0:-1] 73// NOVI: error: invalid register index 74 75s_mov_b64 s[10:11], [exec_lo,vcc_hi] 76// NOVI: error: register does not fit in the list 77 78s_mov_b64 s[10:11], [exec_hi,exec_lo] 79// NOVI: error: register does not fit in the list 80 81s_mov_b64 s[10:11], [exec_lo,exec_lo] 82// NOVI: error: register does not fit in the list 83 84s_mov_b64 s[10:11], [exec,exec_lo] 85// NOVI: error: register does not fit in the list 86 87s_mov_b64 s[10:11], [exec_lo,exec] 88// NOVI: error: register does not fit in the list 89 90s_mov_b64 s[10:11], [exec_lo,s0] 91// NOVI: error: registers in a list must be of the same kind 92 93s_mov_b64 s[10:11], [s0,exec_lo] 94// NOVI: error: registers in a list must be of the same kind 95 96s_mov_b64 s[10:11], [s0,exec] 97// NOVI: error: registers in a list must be of the same kind 98 99s_mov_b64 s[10:11], [s0,v1] 100// NOVI: error: registers in a list must be of the same kind 101 102s_mov_b64 s[10:11], [v0,s1] 103// NOVI: error: registers in a list must be of the same kind 104 105s_mov_b64 s[10:11], [s0,s0] 106// NOVI: error: registers in a list must have consecutive indices 107 108s_mov_b64 s[10:11], [s0,s2] 109// NOVI: error: registers in a list must have consecutive indices 110 111s_mov_b64 s[10:11], [s2,s1] 112// NOVI: error: registers in a list must have consecutive indices 113 114s_mov_b64 s[10:11], [a0,a2] 115// NOVI: error: registers in a list must have consecutive indices 116 117s_mov_b64 s[10:11], [a0,v1] 118// NOVI: error: registers in a list must be of the same kind 119 120s_mov_b64 s[10:11], [s 121// NOVI: error: missing register index 122 123s_mov_b64 s[10:11], s[1:0] 124// NOVI: error: first register index should not exceed second index 125 126s_mov_b64 s[10:11], [x0,s1] 127// NOVI: error: invalid register name 128 129s_mov_b64 s[10:11], [s,s1] 130// NOVI: error: missing register index 131 132s_mov_b64 s[10:11], [s01,s1] 133// NOVI: error: registers in a list must have consecutive indices 134 135s_mov_b64 s[10:11], [s0x] 136// NOVI: error: invalid register index 137 138s_mov_b64 s[10:11], [s[0:1],s[2:3]] 139// NOVI: error: expected a single 32-bit register 140 141s_mov_b64 s[10:11], [s0,s[2:3]] 142// NOVI: error: expected a single 32-bit register 143 144s_mov_b64 s[10:11], [s0 145// NOVI: error: expected a comma or a closing square bracket 146 147s_mov_b64 s[10:11], [s0,s1 148// NOVI: error: expected a comma or a closing square bracket 149 150s_mov_b64 s[10:11], s[1:0] 151// NOVI: error: first register index should not exceed second index 152