
; Function Attrs: nounwind
define internal i64 @poke() #0 {
entry:
  %alloca = alloca i64, align 8
  store i64 0, ptr %alloca, align 8
  call void asm sideeffect "movq $$42, ${0}", "=*m"(ptr elementtype(i64) %alloca)
  %load = load i64, ptr %alloca, align 8
  ret i64 %load
}

; Function Attrs: nounwind
define i32 @main() #0 {
entry:
  %call = call i64 @poke()
  %icmp = icmp ne i64 %call, 42
  br i1 %icmp, label %if.then.0, label %if.merge.1

if.then.0:                                        ; preds = %entry
  ret i32 1

if.merge.1:                                       ; preds = %entry
  ret i32 0
}
