brintos

brintos / llvm-project-archived public Read only

0
0
Text · 738 B · a896b9e Raw
26 lines · plain
1; RUN: llc -mtriple=amdgcn < %s | FileCheck -check-prefix=GCN %s2 3; GCN-LABEL: @bfe_uniform4; GCN: s_bfe_u32 s{{[0-9]+}}, s{{[0-9]+}}, 0x400105define amdgpu_kernel void @bfe_uniform(i32 %val, ptr addrspace(1) %out) {6  %hibits = lshr i32 %val, 167  %masked = and i32 %hibits, 158  store i32 %masked, ptr addrspace(1) %out9  ret void10}11 12; GCN-LABEL: @bfe_divergent13; GCN: v_bfe_u32 v{{[0-9]+}}, v{{[0-9]+}}, 16, 414define amdgpu_kernel void @bfe_divergent(i32 %val, ptr addrspace(1) %out) {15  %tid = call i32 @llvm.amdgcn.workitem.id.x()16  %divergent = add i32 %val, %tid17  %hibits = lshr i32 %divergent, 1618  %masked = and i32 %hibits, 1519  store i32 %masked, ptr addrspace(1) %out20  ret void21}22 23 24declare i32 @llvm.amdgcn.workitem.id.x()25 26