53 lines · plain
1; RUN: not llc -mtriple=amdgcn < %s 2>&1 | FileCheck -check-prefix=ERR %s2 3; ERR: error: couldn't allocate output register for constraint 'q'4define void @crash_use_invalid_output_constraint_block(ptr addrspace(1) %arg) {5bb:6 %v = call i32 asm sideeffect "", "=q"()7 br label %use8 9use:10 store i32 %v, ptr addrspace(1) %arg11 ret void12}13 14; ERR: error: unknown asm constraint 'q'15define void @invalid_input_constraint() {16 call void asm sideeffect "", "q"(i32 1)17 ret void18}19 20; ERR: error: unknown asm constraint 'q'21define void @invalid_input_constraint_multi() {22 call void asm sideeffect "", "q,q"(i32 1, i16 2)23 ret void24}25 26; ERR: error: unknown asm constraint 'q'27define void @invalid_input_constraint_multi_valid() {28 call void asm sideeffect "", "q,v"(i32 1, i64 2)29 ret void30}31 32; ERR: error: couldn't allocate output register for constraint 'q'33define void @crash_use_invalid_output_constraint_block_multi(ptr addrspace(1) %arg) {34bb:35 %v = call { i32, i32 } asm sideeffect "", "=q,=q"()36 br label %use37 38use:39 store { i32, i32 } %v, ptr addrspace(1) %arg40 ret void41}42 43; ERR: error: couldn't allocate output register for constraint 'q'44define void @crash_use_invalid_output_constraint_block_multi_valid(ptr addrspace(1) %arg) {45bb:46 %v = call { i32, i32 } asm sideeffect "", "=q,=v"()47 br label %use48 49use:50 store { i32, i32 } %v, ptr addrspace(1) %arg51 ret void52}53