brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.7 KiB · 47f0c4c Raw
39 lines · plain
1; RUN:  llc -amdgpu-scalarize-global-loads=false  -mtriple=amdgcn < %s | FileCheck -check-prefix=GCN %s2; RUN:  llc -amdgpu-scalarize-global-loads=false  -mtriple=amdgcn -mcpu=bonaire < %s | FileCheck -check-prefix=GCN %s3; RUN:  llc -amdgpu-scalarize-global-loads=false  -mtriple=amdgcn -mcpu=tonga -mattr=-flat-for-global < %s | FileCheck -check-prefix=GCN %s4 5; GCN-LABEL: {{^}}reduce_i64_load_align_4_width_to_i32:6; GCN: buffer_load_dword [[VAL:v[0-9]+]]7; GCN: v_and_b32_e32 v{{[0-9]+}}, 0x12d687, [[VAL]]8; GCN: buffer_store_dwordx29define amdgpu_kernel void @reduce_i64_load_align_4_width_to_i32(ptr addrspace(1) %out, ptr addrspace(1) %in) #0 {10  %a = load i64, ptr addrspace(1) %in, align 411  %and = and i64 %a, 123456712  store i64 %and, ptr addrspace(1) %out, align 813  ret void14}15 16; GCN-LABEL: {{^}}reduce_i64_align_4_bitcast_v2i32_elt0:17; GCN: buffer_load_dword [[VAL:v[0-9]+]]18; GCN: buffer_store_dword [[VAL]]19define amdgpu_kernel void @reduce_i64_align_4_bitcast_v2i32_elt0(ptr addrspace(1) %out, ptr addrspace(1) %in) #0 {20  %a = load i64, ptr addrspace(1) %in, align 421  %vec = bitcast i64 %a to <2 x i32>22  %elt0 = extractelement <2 x i32> %vec, i32 023  store i32 %elt0, ptr addrspace(1) %out24  ret void25}26 27; GCN-LABEL: {{^}}reduce_i64_align_4_bitcast_v2i32_elt1:28; GCN: buffer_load_dword [[VAL:v[0-9]+]], off, s{{\[[0-9]+:[0-9]+\]}}, 0 offset:429; GCN: buffer_store_dword [[VAL]]30define amdgpu_kernel void @reduce_i64_align_4_bitcast_v2i32_elt1(ptr addrspace(1) %out, ptr addrspace(1) %in) #0 {31  %a = load i64, ptr addrspace(1) %in, align 432  %vec = bitcast i64 %a to <2 x i32>33  %elt0 = extractelement <2 x i32> %vec, i32 134  store i32 %elt0, ptr addrspace(1) %out35  ret void36}37 38attributes #0 = { nounwind }39