; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --check-globals
; RUN: opt -mtriple=amdgcn-- -passes=amdgpu-printf-runtime-binding -S < %s | FileCheck --check-prefix=GCN %s

; Make sure the correct index is used for newly added entries to
; llvm.printf.fmts if one already exists in the module.

@format.str.one.int = private unnamed_addr addrspace(4) constant [8 x i8] c"arst %d\00", align 1

; Inserted IDs should start at 2
;.
; GCN: @[[FORMAT_STR_ONE_INT:[a-zA-Z0-9_$"\\.-]+]] = private unnamed_addr addrspace(4) constant [8 x i8] c"arst %d\00", align 1
;.
define void @call_printf(i32 %n, i32 %m) {
; GCN-LABEL: @call_printf(
; GCN-NEXT:    [[PRINTF_ALLOC_FN:%.*]] = call ptr addrspace(1) @__printf_alloc(i32 8)
; GCN-NEXT:    br label [[DOTSPLIT:%.*]]
; GCN:       .split:
; GCN-NEXT:    [[TMP1:%.*]] = icmp ne ptr addrspace(1) [[PRINTF_ALLOC_FN]], null
; GCN-NEXT:    br i1 [[TMP1]], label [[TMP2:%.*]], label [[TMP3:%.*]]
; GCN:       2:
; GCN-NEXT:    [[PRINTBUFFID:%.*]] = getelementptr i8, ptr addrspace(1) [[PRINTF_ALLOC_FN]], i32 0
; GCN-NEXT:    [[PRINTBUFFIDCAST:%.*]] = bitcast ptr addrspace(1) [[PRINTBUFFID]] to ptr addrspace(1)
; GCN-NEXT:    store i32 3, ptr addrspace(1) [[PRINTBUFFIDCAST]], align 4
; GCN-NEXT:    [[PRINTBUFFGEP:%.*]] = getelementptr i8, ptr addrspace(1) [[PRINTF_ALLOC_FN]], i32 4
; GCN-NEXT:    store i32 [[N:%.*]], ptr addrspace(1) [[PRINTBUFFGEP]], align 4
; GCN-NEXT:    br label [[TMP3]]
; GCN:       3:
; GCN-NEXT:    [[PRINTF_ALLOC_FN1:%.*]] = call ptr addrspace(1) @__printf_alloc(i32 8)
; GCN-NEXT:    br label [[DOTSPLIT2:%.*]]
; GCN:       .split2:
; GCN-NEXT:    [[TMP4:%.*]] = icmp ne ptr addrspace(1) [[PRINTF_ALLOC_FN1]], null
; GCN-NEXT:    br i1 [[TMP4]], label [[TMP5:%.*]], label [[TMP6:%.*]]
; GCN:       5:
; GCN-NEXT:    [[PRINTBUFFID3:%.*]] = getelementptr i8, ptr addrspace(1) [[PRINTF_ALLOC_FN1]], i32 0
; GCN-NEXT:    [[PRINTBUFFIDCAST4:%.*]] = bitcast ptr addrspace(1) [[PRINTBUFFID3]] to ptr addrspace(1)
; GCN-NEXT:    store i32 4, ptr addrspace(1) [[PRINTBUFFIDCAST4]], align 4
; GCN-NEXT:    [[PRINTBUFFGEP5:%.*]] = getelementptr i8, ptr addrspace(1) [[PRINTF_ALLOC_FN1]], i32 4
; GCN-NEXT:    store i32 [[M:%.*]], ptr addrspace(1) [[PRINTBUFFGEP5]], align 4
; GCN-NEXT:    br label [[TMP6]]
; GCN:       6:
; GCN-NEXT:    ret void
;
  %call0 = call i32 @printf(ptr addrspace(4) @format.str.one.int, i32 %n)
  %call1 = call i32 @printf(ptr addrspace(4) @format.str.one.int, i32 %m)
  ret void
}

declare i32 @printf(ptr addrspace(4), ...)

!llvm.printf.fmts = !{!0, !1}

!0 = !{!"49:2:4:4:%s\\72%d"}
!1 = !{!"50:1:8:arst %p"}
;.
; GCN: attributes #[[ATTR0:[0-9]+]] = { nounwind }
;.
; GCN: [[META0:![0-9]+]] = !{!"49:2:4:4:%s\\72%d"}
; GCN: [[META1:![0-9]+]] = !{!"50:1:8:arst %p"}
; GCN: [[META2:![0-9]+]] = !{!"3:1:4:arst %d"}
; GCN: [[META3:![0-9]+]] = !{!"4:1:4:arst %d"}
;.
