brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.1 KiB · 083e600 Raw
51 lines · plain
1; RUN: llc -mtriple=amdgcn -mcpu=gfx906 < %s | FileCheck -check-prefix=GCN %s2 3; GCN-LABEL: {{^}}trunc_store_v4i64_v4i8:4; GCN: global_store_dword v{{[0-9]+}}, v{{[0-9]+}}, s{{\[[0-9]+:[0-9]+\]}}5define amdgpu_kernel void @trunc_store_v4i64_v4i8(ptr addrspace(1) %out, <4 x i64> %in) {6entry:7  %trunc = trunc <4 x i64> %in to < 4 x i8>8  store <4 x i8> %trunc, ptr addrspace(1) %out9  ret void10}11 12; GCN-LABEL: {{^}}trunc_store_v8i64_v8i8:13; GCN: global_store_dwordx2 v{{[0-9]+}}, v{{\[[0-9]:[0-9]+\]}}, s{{\[[0-9]+:[0-9]+\]}}14define amdgpu_kernel void @trunc_store_v8i64_v8i8(ptr addrspace(1) %out, <8 x i64> %in) {15entry:16  %trunc = trunc <8 x i64> %in to < 8 x i8>17  store <8 x i8> %trunc, ptr addrspace(1) %out18  ret void19}20 21; GCN-LABEL: {{^}}trunc_store_v8i64_v8i16:22; GCN: global_store_dwordx4 v{{[0-9]+}}, v{{\[[0-9]:[0-9]+\]}}, s{{\[[0-9]+:[0-9]+\]}}23define amdgpu_kernel void @trunc_store_v8i64_v8i16(ptr addrspace(1) %out, <8 x i64> %in) {24entry:25  %trunc = trunc <8 x i64> %in to < 8 x i16>26  store <8 x i16> %trunc, ptr addrspace(1) %out27  ret void28}29 30; GCN-LABEL: {{^}}trunc_store_v8i64_v8i32:31; GCN: global_store_dwordx4 v{{[0-9]+}}, v{{\[[0-9]+:[0-9]+\]}}, s{{\[[0-9]+:[0-9]+\]}} offset:1632; GCN: global_store_dwordx4 v{{[0-9]+}}, v{{\[[0-9]+:[0-9]+\]}}, s{{\[[0-9]+:[0-9]+\]$}}33define amdgpu_kernel void @trunc_store_v8i64_v8i32(ptr addrspace(1) %out, <8 x i64> %in) {34entry:35  %trunc = trunc <8 x i64> %in to <8 x i32>36  store <8 x i32> %trunc, ptr addrspace(1) %out37  ret void38}39 40; GCN-LABEL: {{^}}trunc_store_v16i64_v16i32:41; GCN: global_store_dwordx4 v{{[0-9]+}}, v{{\[[0-9]+:[0-9]+\]}}, s{{\[[0-9]+:[0-9]+\]}} offset:4842; GCN: global_store_dwordx4 v{{[0-9]+}}, v{{\[[0-9]+:[0-9]+\]}}, s{{\[[0-9]+:[0-9]+\]}} offset:3243; GCN: global_store_dwordx4 v{{[0-9]+}}, v{{\[[0-9]+:[0-9]+\]}}, s{{\[[0-9]+:[0-9]+\]}} offset:1644; GCN: global_store_dwordx4 v{{[0-9]+}}, v{{\[[0-9]+:[0-9]+\]}}, s{{\[[0-9]+:[0-9]+\]$}}45define amdgpu_kernel void @trunc_store_v16i64_v16i32(ptr addrspace(1) %out, <16 x i64> %in) {46entry:47  %trunc = trunc <16 x i64> %in to <16 x i32>48  store <16 x i32> %trunc, ptr addrspace(1) %out49  ret void50}51