1; RUN: not llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx908 -vgpr-regalloc=greedy -verify-machineinstrs=0 -filetype=null %s 2>&1 | FileCheck -implicit-check-not=error %s 2; RUN: not llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx908 -vgpr-regalloc=basic -verify-machineinstrs=0 -filetype=null %s 2>&1 | FileCheck -implicit-check-not=error %s 3; RUN: not llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx908 -vgpr-regalloc=fast -verify-machineinstrs=0 -filetype=null %s 2>&1 | FileCheck -implicit-check-not=error %s 4 5; FIXME: Should pass verifier after failure. 6 7declare <32 x i32> @llvm.amdgcn.mfma.i32.32x32x4i8(i32, i32, <32 x i32>, i32 immarg, i32 immarg, i32 immarg) 8 9; CHECK: error: <unknown>:0:0: no registers from class available to allocate in function 'no_registers_from_class_available_to_allocate' 10define <32 x i32> @no_registers_from_class_available_to_allocate(<32 x i32> %arg) #0 { 11 %ret = call <32 x i32> @llvm.amdgcn.mfma.i32.32x32x4i8(i32 1, i32 2, <32 x i32> %arg, i32 1, i32 2, i32 3) 12 ret <32 x i32> %ret 13} 14 15; CHECK: error: <unknown>:0:0: no registers from class available to allocate in function 'no_registers_from_class_available_to_allocate_asm_use' 16define void @no_registers_from_class_available_to_allocate_asm_use(<32 x i32> %arg) #0 { 17 call void asm sideeffect "; use $0", "v"(<32 x i32> %arg) 18 ret void 19} 20 21; CHECK: error: <unknown>:0:0: no registers from class available to allocate in function 'no_registers_from_class_available_to_allocate_asm_def' 22define <32 x i32> @no_registers_from_class_available_to_allocate_asm_def() #0 { 23 %ret = call <32 x i32> asm sideeffect "; def $0", "=v"() 24 ret <32 x i32> %ret 25} 26 27; CHECK: error: <unknown>:0:0: no registers from class available to allocate in function 'no_registers_from_class_available_to_allocate_undef_asm' 28define void @no_registers_from_class_available_to_allocate_undef_asm() #0 { 29 call void asm sideeffect "; use $0", "v"(<32 x i32> poison) 30 ret void 31} 32 33attributes #0 = { "amdgpu-waves-per-eu"="10,10" } 34