brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.4 KiB · 542e8d2 Raw
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