brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.1 KiB · d73ab2b Raw
54 lines · plain
1; RUN: llc -mtriple=amdgcn < %s | FileCheck -check-prefix=GCN %s2 3; GCN-LABEL: {{^}}store_v2i32_as_v4i16_align_4:4; GCN: s_load_dwordx25; GCN: ds_write2_b32 v{{[0-9]+}}, v{{[0-9]+}}, v{{[0-9]+}} offset1:1{{$}}6define amdgpu_kernel void @store_v2i32_as_v4i16_align_4(ptr addrspace(3) align 4 %out, <2 x i32> %x) #0 {7  %x.bc = bitcast <2 x i32> %x to <4 x i16>8  store <4 x i16> %x.bc, ptr addrspace(3) %out, align 49  ret void10}11 12; GCN-LABEL: {{^}}store_v4i32_as_v8i16_align_4:13; GCN: s_load_dwordx414; GCN-DAG: ds_write2_b32 v{{[0-9]+}}, v{{[0-9]+}}, v{{[0-9]+}} offset0:2 offset1:315; GCN-DAG: ds_write2_b32 v{{[0-9]+}}, v{{[0-9]+}}, v{{[0-9]+}} offset1:1{{$}}16define amdgpu_kernel void @store_v4i32_as_v8i16_align_4(ptr addrspace(3) align 4 %out, <4 x i32> %x) #0 {17  %x.bc = bitcast <4 x i32> %x to <8 x i16>18  store <8 x i16> %x.bc, ptr addrspace(3) %out, align 419  ret void20}21 22; GCN-LABEL: {{^}}store_v2i32_as_i64_align_4:23; GCN: s_load_dwordx224; GCN: ds_write2_b32 v{{[0-9]+}}, v{{[0-9]+}}, v{{[0-9]+}} offset1:1{{$}}25define amdgpu_kernel void @store_v2i32_as_i64_align_4(ptr addrspace(3) align 4 %out, <2 x i32> %x) #0 {26  %x.bc = bitcast <2 x i32> %x to <4 x i16>27  store <4 x i16> %x.bc, ptr addrspace(3) %out, align 428  ret void29}30 31; GCN-LABEL: {{^}}store_v4i32_as_v2i64_align_4:32; GCN: s_load_dwordx433; GCN-DAG: ds_write2_b32 v{{[0-9]+}}, v{{[0-9]+}}, v{{[0-9]+}} offset0:2 offset1:334; GCN-DAG: ds_write2_b32 v{{[0-9]+}}, v{{[0-9]+}}, v{{[0-9]+}} offset1:1{{$}}35define amdgpu_kernel void @store_v4i32_as_v2i64_align_4(ptr addrspace(3) align 4 %out, <4 x i32> %x) #0 {36  %x.bc = bitcast <4 x i32> %x to <2 x i64>37  store <2 x i64> %x.bc, ptr addrspace(3) %out, align 438  ret void39}40 41; GCN-LABEL: {{^}}store_v4i16_as_v2i32_align_4:42; GCN: s_load_dword s43; GCN-NEXT: s_load_dwordx2 s44; GCN-NOT: {{buffer|flat|global}}45 46; GCN: ds_write2_b32 v{{[0-9]+}}, v{{[0-9]+}}, v{{[0-9]+}} offset1:1{{$}}47define amdgpu_kernel void @store_v4i16_as_v2i32_align_4(ptr addrspace(3) align 4 %out, <4 x i16> %x) #0 {48  %x.bc = bitcast <4 x i16> %x to <2 x i32>49  store <2 x i32> %x.bc, ptr addrspace(3) %out, align 450  ret void51}52 53attributes #0 = { nounwind }54