brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.2 KiB · 995781f Raw
53 lines · plain
1; RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx900 -filetype=null 2>&1 %s | FileCheck -check-prefix=ERR %s2 3; ERR: warning: inline asm clobber list contains reserved registers: v424; ERR: note: Reserved registers on the clobber list may not be preserved across the asm statement, and clobbering them may lead to undefined behaviour.5define amdgpu_kernel void @clobber_occupancy_limited_vgpr() #0 {6entry:7  call void asm sideeffect "; clobber $0", "~{v42}"()8  ret void9}10 11; ERR: warning: inline asm clobber list contains reserved registers: v[42:43]12; ERR: note: Reserved registers on the clobber list may not be preserved across the asm statement, and clobbering them may lead to undefined behaviour.13define amdgpu_kernel void @clobber_occupancy_limited_vgpr64() #0 {14entry:15  call void asm sideeffect "; clobber $0", "~{v[42:43]}"()16  ret void17}18 19; ERR: warning: inline asm clobber list contains reserved registers: m020; ERR: note: Reserved registers on the clobber list may not be preserved across the asm statement, and clobbering them may lead to undefined behaviour.21define amdgpu_kernel void @clobber_m0() {22entry:23  call void asm sideeffect "; clobber $0", "~{m0}"()24  ret void25}26 27; ERR: warning: inline asm clobber list contains reserved registers: exec28; ERR: note: Reserved registers on the clobber list may not be preserved across the asm statement, and clobbering them may lead to undefined behaviour.29define amdgpu_kernel void @clobber_exec() {30entry:31  call void asm sideeffect "; clobber $0", "~{exec}"()32  ret void33}34 35; ERR: warning: inline asm clobber list contains reserved registers: exec_lo36; ERR: note: Reserved registers on the clobber list may not be preserved across the asm statement, and clobbering them may lead to undefined behaviour.37define amdgpu_kernel void @clobber_exec_lo() {38entry:39  call void asm sideeffect "; clobber $0", "~{exec_lo}"()40  ret void41}42 43; FIXME: This should warn too44; ERR-NOT: warning: inline asm clobber list contains reserved registers45define amdgpu_kernel void @def_exec(ptr addrspace(1) %ptr) {46entry:47  %exec = call i64 asm sideeffect "; def $0", "={exec}"()48  store i64 %exec, ptr addrspace(1) %ptr49  ret void50}51 52attributes #0 = { "amdgpu-waves-per-eu"="10,10" }53