
; Function Attrs: nounwind
define internal { i64, i64 } @divmod(i64 %0, i64 %1) #0 {
entry:
  %alloca = alloca i64, align 8
  store i64 %0, ptr %alloca, align 8
  %allocaN = alloca i64, align 8
  store i64 %1, ptr %allocaN, align 8
  %load = load i64, ptr %alloca, align 8
  %loadN = load i64, ptr %allocaN, align 8
  %asm = call { i64, i64 } asm "divq ${4}", "={rax},={rdx},{rax},{rdx},r,~{cc}"(i64 %load, i64 0, i64 %loadN)
  ret { i64, i64 } %asm
}

; Function Attrs: nounwind
define i32 @main() #0 {
entry:
  %call = call { i64, i64 } @divmod(i64 17, i64 5)
  %tg = extractvalue { i64, i64 } %call, 0
  %alloca = alloca i64, align 8
  store i64 %tg, ptr %alloca, align 8
  %tgN = extractvalue { i64, i64 } %call, 1
  %allocaN = alloca i64, align 8
  store i64 %tgN, ptr %allocaN, align 8
  ret i32 0
}
