; RUN: llc -mtriple=amdgcn -mcpu=fiji < %s | FileCheck -check-prefixes=GCN %s


; There is no dependence between the store and the two loads. So we can combine
; the loads and schedule it freely.

; GCN-LABEL: {{^}}ds_combine_nodep

; GCN-DAG: ds_write2_b32 v{{[0-9]+}}, v{{[0-9]+}}, v{{[0-9]+}} offset0:26 offset1:27
; GCN-DAG: ds_read2_b32 v{{\[[0-9]+:[0-9]+\]}}, v{{[0-9]+}} offset0:7 offset1:8
; GCN: s_waitcnt lgkmcnt({{[0-9]+}})
define amdgpu_kernel void @ds_combine_nodep(ptr addrspace(1) %out, ptr addrspace(3) %inptr) #0 {

  %addr0 = getelementptr i8, ptr addrspace(3) %inptr, i32 24
  %load0 = load <3 x float>, ptr addrspace(3) %addr0, align 4
  %v0 = extractelement <3 x float> %load0, i32 2

  %tmp1 = insertelement <2 x float> poison, float 1.0, i32 0
  %data = insertelement <2 x float> %tmp1, float 2.0, i32 1

  %tmp2 = getelementptr float, ptr addrspace(3) %inptr, i32 26
  store <2 x float> %data, ptr addrspace(3) %tmp2, align 4

  %vaddr1 = getelementptr float, ptr addrspace(3) %inptr, i32 7
  %v1 = load float, ptr addrspace(3) %vaddr1, align 4

  %sum = fadd float %v0, %v1
  store float %sum, ptr addrspace(1) %out, align 4
  ret void
}


; The store depends on the first load, so we could not move the first load down to combine with
; the second load directly. However, we can move the store after the combined load.

; GCN-LABEL: {{^}}ds_combine_WAR

; GCN:      ds_read2_b32 v{{\[[0-9]+:[0-9]+\]}}, v{{[0-9]+}} offset0:7 offset1:27
; GCN-NEXT: ds_write2_b32 v{{[0-9]+}}, v{{[0-9]+}}, v{{[0-9]+}} offset0:26 offset1:27
define amdgpu_kernel void @ds_combine_WAR(ptr addrspace(1) %out, ptr addrspace(3) %inptr) #0 {

  %addr0 = getelementptr i8, ptr addrspace(3) %inptr, i32 100
  %load0 = load <3 x float>, ptr addrspace(3) %addr0, align 4
  %v0 = extractelement <3 x float> %load0, i32 2

  %tmp1 = insertelement <2 x float> poison, float 1.0, i32 0
  %data = insertelement <2 x float> %tmp1, float 2.0, i32 1

  %tmp2 = getelementptr float, ptr addrspace(3) %inptr, i32 26
  store <2 x float> %data, ptr addrspace(3) %tmp2, align 4

  %vaddr1 = getelementptr float, ptr addrspace(3) %inptr, i32 7
  %v1 = load float, ptr addrspace(3) %vaddr1, align 4

  %sum = fadd float %v0, %v1
  store float %sum, ptr addrspace(1) %out, align 4
  ret void
}


; The second load depends on the store. We could combine the two loads, putting
; the combined load at the original place of the second load, but we prefer to
; leave the first load near the start of the function to hide its latency.

; GCN-LABEL: {{^}}ds_combine_RAW

; GCN:      ds_write2_b32 v{{[0-9]+}}, v{{[0-9]+}}, v{{[0-9]+}} offset0:26 offset1:27
; GCN-NEXT: ds_read_b32 v{{[0-9]+}}, v{{[0-9]+}} offset:32
; GCN-NEXT: ds_read_b32 v{{[0-9]+}}, v{{[0-9]+}} offset:104
define amdgpu_kernel void @ds_combine_RAW(ptr addrspace(1) %out, ptr addrspace(3) %inptr) #0 {

  %addr0 = getelementptr i8, ptr addrspace(3) %inptr, i32 24
  %load0 = load <3 x float>, ptr addrspace(3) %addr0, align 4
  %v0 = extractelement <3 x float> %load0, i32 2

  %tmp1 = insertelement <2 x float> poison, float 1.0, i32 0
  %data = insertelement <2 x float> %tmp1, float 2.0, i32 1

  %tmp2 = getelementptr float, ptr addrspace(3) %inptr, i32 26
  store <2 x float> %data, ptr addrspace(3) %tmp2, align 4

  %vaddr1 = getelementptr float, ptr addrspace(3) %inptr, i32 26
  %v1 = load float, ptr addrspace(3) %vaddr1, align 4

  %sum = fadd float %v0, %v1
  store float %sum, ptr addrspace(1) %out, align 4
  ret void
}


; The store depends on the first load, also the second load depends on the store.
; So we can not combine the two loads.

; GCN-LABEL: {{^}}ds_combine_WAR_RAW

; GCN:      ds_read_b32 v{{[0-9]+}}, v{{[0-9]+}} offset:108
; GCN-NEXT: ds_write2_b32 v{{[0-9]+}}, v{{[0-9]+}}, v{{[0-9]+}} offset0:26 offset1:27
; GCN-NEXT: ds_read_b32 v{{[0-9]+}}, v{{[0-9]+}} offset:104
define amdgpu_kernel void @ds_combine_WAR_RAW(ptr addrspace(1) %out, ptr addrspace(3) %inptr) #0 {

  %addr0 = getelementptr i8, ptr addrspace(3) %inptr, i32 100
  %load0 = load <3 x float>, ptr addrspace(3) %addr0, align 4
  %v0 = extractelement <3 x float> %load0, i32 2

  %tmp1 = insertelement <2 x float> poison, float 1.0, i32 0
  %data = insertelement <2 x float> %tmp1, float 2.0, i32 1

  %tmp2 = getelementptr float, ptr addrspace(3) %inptr, i32 26
  store <2 x float> %data, ptr addrspace(3) %tmp2, align 4

  %vaddr1 = getelementptr float, ptr addrspace(3) %inptr, i32 26
  %v1 = load float, ptr addrspace(3) %vaddr1, align 4

  %sum = fadd float %v0, %v1
  store float %sum, ptr addrspace(1) %out, align 4
  ret void
}

attributes #0 = { "amdgpu-no-dispatch-id" "amdgpu-no-dispatch-ptr" "amdgpu-no-heap-ptr" "amdgpu-no-hostcall-ptr" "amdgpu-no-implicitarg-ptr" "amdgpu-no-lds-kernel-id" "amdgpu-no-multigrid-sync-arg" "amdgpu-no-queue-ptr" "amdgpu-no-workgroup-id-x" "amdgpu-no-workgroup-id-y" "amdgpu-no-workgroup-id-z" "amdgpu-no-workitem-id-x" "amdgpu-no-workitem-id-y" "amdgpu-no-workitem-id-z" }
