brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.7 KiB · 739aad3 Raw
43 lines · plain
1; RUN: llc -mtriple=amdgcn -mcpu=bonaire < %s | FileCheck -strict-whitespace -check-prefix=SI %s2; RUN: llc -mtriple=amdgcn -mcpu=tonga < %s | FileCheck -strict-whitespace -check-prefix=SI %s3 4@lds = addrspace(3) global [512 x float] poison, align 45 6; offset0 is larger than offset17 8; SI-LABEL: {{^}}offset_order:9; SI-DAG: ds_read_b32 v{{[0-9]+}}, v{{[0-9]+}}10; SI-DAG: ds_read_b64 v[{{[0-9]+}}:{{[0-9]+}}], v{{[0-9]+}} offset:811; SI-DAG: ds_read2_b32 v[{{[0-9]+}}:{{[0-9]+}}], v{{[0-9]+}} offset0:11 offset1:1212; SI-DAG: ds_read2_b32 v[{{[0-9]+}}:{{[0-9]+}}], v{{[0-9]+}} offset0:6 offset1:24813define amdgpu_kernel void @offset_order(ptr addrspace(1) %out) {14entry:15  %val0 = load float, ptr addrspace(3) @lds16 17  %ptr1 = getelementptr inbounds [512 x float], ptr addrspace(3) @lds, i32 0, i32 25618  %val1 = load float, ptr addrspace(3) %ptr119  %add1 = fadd float %val0, %val120 21  %ptr2 = getelementptr inbounds [512 x float], ptr addrspace(3) @lds, i32 0, i32 322  %val2 = load float, ptr addrspace(3) %ptr223  %add2 = fadd float %add1, %val224 25  %ptr3 = getelementptr inbounds [512 x float], ptr addrspace(3) @lds, i32 0, i32 226  %val3 = load float, ptr addrspace(3) %ptr327  %add3 = fadd float %add2, %val328 29  %ptr4 = getelementptr inbounds [512 x float], ptr addrspace(3) @lds, i32 0, i32 1230  %val4 = load float, ptr addrspace(3) %ptr431  %add4 = fadd float %add3, %val432 33  %ptr5 = getelementptr inbounds [512 x float], ptr addrspace(3) @lds, i32 0, i32 1434  %val5 = load float, ptr addrspace(3) %ptr535  %add5 = fadd float %add4, %val536 37  %ptr6 = getelementptr inbounds [512 x float], ptr addrspace(3) @lds, i32 0, i32 1138  %val6 = load float, ptr addrspace(3) %ptr639  %add6 = fadd float %add5, %val640  store float %add6, ptr addrspace(1) %out41  ret void42}43