brintos

brintos / llvm-project-archived public Read only

0
0
Text · 4.2 KiB · 25bf022 Raw
98 lines · plain
1; RUN: llc -mtriple=amdgcn-amd-amdhsa < %s | FileCheck -check-prefixes=GCN,SCRATCH128K %s2; RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx1010 -mattr=+wavefrontsize64 < %s | FileCheck -check-prefixes=GCN,SCRATCH128K %s3; RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx1010 < %s | FileCheck -check-prefixes=GCN,SCRATCH256K %s4; RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx1100 -mattr=+wavefrontsize64 -amdgpu-enable-vopd=0 < %s | FileCheck -check-prefixes=GCN,SCRATCH128K %s5; RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx1100 -amdgpu-enable-vopd=0 < %s | FileCheck -check-prefixes=GCN,SCRATCH256K %s6; RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx1200 -mattr=+wavefrontsize64 -amdgpu-enable-vopd=0 < %s | FileCheck -check-prefixes=GCN,SCRATCH1024K %s7; RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx1200 -amdgpu-enable-vopd=0 < %s | FileCheck -check-prefixes=GCN,SCRATCH2048K %s8 9; GCN-LABEL: {{^}}scratch_buffer_known_high_masklo16:10; GCN: s_mov_b32 [[FI:s[0-9]+]], 0{{$}}11; GCN: s_and_b32 s{{[0-9]+}}, [[FI]], 0xfffc12; GCN: v_mov_b32_e32 [[VFI:v[0-9]+]], [[FI]]{{$}}13; GCN: {{flat|global}}_store_{{dword|b32}} v[{{[0-9]+:[0-9]+}}], [[VFI]]14define amdgpu_kernel void @scratch_buffer_known_high_masklo16() {15  %alloca = alloca i32, align 4, addrspace(5)16  store volatile i32 15, ptr addrspace(5) %alloca17  %toint = ptrtoint ptr addrspace(5) %alloca to i3218  %masked = and i32 %toint, 6553519  store volatile i32 %masked, ptr addrspace(1) poison20  ret void21}22 23; GCN-LABEL: {{^}}scratch_buffer_known_high_masklo17:24; SCRATCH256K: s_mov_b32 [[FI:s[0-9]+]], 0{{$}}25; SCRATCH256K: s_and_b32 s{{[0-9]+}}, [[FI]], 0x1fffc26 27; SCRATCH1024K: s_mov_b32 [[FI:s[0-9]+]], 0{{$}}28; SCRATCH1024K: s_and_b32 s{{[0-9]+}}, [[FI]], 0x1fffc29 30; SCRATCH2048K: s_mov_b32 [[FI:s[0-9]+]], 0{{$}}31; SCRATCH2048K: s_and_b32 s{{[0-9]+}}, [[FI]], 0x1fffc32 33; GCN: {{flat|global}}_store_{{dword|b32}} v[{{[0-9]+:[0-9]+}}],34define amdgpu_kernel void @scratch_buffer_known_high_masklo17() {35  %alloca = alloca i32, align 4, addrspace(5)36  store volatile i32 15, ptr addrspace(5) %alloca37  %toint = ptrtoint ptr addrspace(5) %alloca to i3238  %masked = and i32 %toint, 13107139  store volatile i32 %masked, ptr addrspace(1) poison40  ret void41}42 43; GCN-LABEL: {{^}}scratch_buffer_known_high_masklo18:44; SCRATCH128K: v_mov_b32_e32 [[FI:v[0-9]+]], 0{{$}}45; SCRATCH256K: v_mov_b32_e32 [[FI:v[0-9]+]], 0{{$}}46; SCRATCH128K-NOT: and_b3247; SCRATCH256K-NOT: and_b3248 49; SCRATCH1024K: s_mov_b32 [[FI:s[0-9]+]], 0{{$}}50; SCRATCH1024K: s_and_b32 s{{[0-9]+}}, [[FI]], 0x3fffc51 52; SCRATCH2048K: s_mov_b32 [[FI:s[0-9]+]], 0{{$}}53; SCRATCH2048K: s_and_b32 s{{[0-9]+}}, [[FI]], 0x3fffc54 55; GCN: {{flat|global}}_store_{{dword|b32}} v[{{[0-9]+:[0-9]+}}],56define amdgpu_kernel void @scratch_buffer_known_high_masklo18() {57  %alloca = alloca i32, align 4, addrspace(5)58  store volatile i32 15, ptr addrspace(5) %alloca59  %toint = ptrtoint ptr addrspace(5) %alloca to i3260  %masked = and i32 %toint, 26214361  store volatile i32 %masked, ptr addrspace(1) poison62  ret void63}64 65; GCN-LABEL: {{^}}scratch_buffer_known_high_masklo20:66; SCRATCH128K: v_mov_b32_e32 [[FI:v[0-9]+]], 0{{$}}67; SCRATCH256K: v_mov_b32_e32 [[FI:v[0-9]+]], 0{{$}}68; SCRATCH1024K: v_mov_b32_e32 [[FI:v[0-9]+]], 0{{$}}69 70; SCRATCH128K-NOT: and_b3271; SCRATCH256K-NOT: and_b3272; SCRATCH1024K-NOT: and_b3273 74; SCRATCH2048K: s_mov_b32 [[FI:s[0-9]+]], 0{{$}}75; SCRATCH2048K: s_and_b32 s{{[0-9]+}}, [[FI]], 0xffffc76; GCN: {{flat|global}}_store_{{dword|b32}} v[{{[0-9]+:[0-9]+}}],77define amdgpu_kernel void @scratch_buffer_known_high_masklo20() {78  %alloca = alloca i32, align 4, addrspace(5)79  store volatile i32 15, ptr addrspace(5) %alloca80  %toint = ptrtoint ptr addrspace(5) %alloca to i3281  %masked = and i32 %toint, 104857582  store volatile i32 %masked, ptr addrspace(1) poison83  ret void84}85 86; GCN-LABEL: {{^}}scratch_buffer_known_high_masklo21:87; GCN: v_mov_b32_e32 [[FI:v[0-9]+]], 0{{$}}88; GCN-NOT: and_b3289; GCN: {{flat|global}}_store_{{dword|b32}} v[{{[0-9]+:[0-9]+}}],90define amdgpu_kernel void @scratch_buffer_known_high_masklo21() {91  %alloca = alloca i32, align 4, addrspace(5)92  store volatile i32 15, ptr addrspace(5) %alloca93  %toint = ptrtoint ptr addrspace(5) %alloca to i3294  %masked = and i32 %toint, 209715195  store volatile i32 %masked, ptr addrspace(1) poison96  ret void97}98