; RUN: llc -mtriple=x86_64-unknown-unknown < %s | FileCheck %s --check-prefix=X64
; RUN: llc -mtriple=i386-unknown-unknown < %s | FileCheck %s   --check-prefix=X86

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; foo
;; -----
;; Checks ENDBR insertion after return twice functions.
;; setjmp, sigsetjmp, savectx, vfork, getcontext
;; setzx is not return twice function, should not followed by endbr.
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

; X64:           callq   setjmp
; X64-NEXT:      endbr64
; X64:           callq   setzx
; X64-NEXT:      xorl
; X64:           callq   sigsetjmp
; X64-NEXT:      endbr64
; X64:           callq   savectx
; X64-NEXT:      endbr64
; X64:           callq   vfork
; X64-NEXT:      endbr64
; X64:           callq   getcontext
; X64-NEXT:      endbr64

; X86:           calll   setjmp
; X86-NEXT:      endbr32
; X86:           calll   setzx
; X86-NEXT:      xorl
; X86:           calll   sigsetjmp
; X86-NEXT:      endbr32
; X86:           calll   savectx
; X86-NEXT:      endbr32
; X86:           calll   vfork
; X86-NEXT:      endbr32
; X86:           calll   getcontext
; X86-NEXT:      endbr32

; Function Attrs: noinline nounwind optnone uwtable
define dso_local void @foo() #0 {
entry:
  %call = call i32 (i32, ...) @setjmp(i32 0) #1
  %call1 = call i32 (i32, ...) @setzx(i32 0)
  %call2 = call i32 (i32, ...) @sigsetjmp(i32 0) #1
  %call3 = call i32 (i32, ...) @setzx(i32 0)
  %call4 = call i32 (i32, ...) @savectx(i32 0) #1
  %call5 = call i32 @vfork() #1
  %call6 = call i32 (i32, ...) @setzx(i32 0)
  %call7 = call i32 (i32, ...) @getcontext(i32 0) #1
  ret void
}

; Function Attrs: returns_twice
declare dso_local i32 @setjmp(...) #1

declare dso_local i32 @setzx(...)

; Function Attrs: returns_twice
declare dso_local i32 @sigsetjmp(...) #1

; Function Attrs: returns_twice
declare dso_local i32 @savectx(...) #1

; Function Attrs: returns_twice
declare dso_local i32 @vfork() #1

; Function Attrs: returns_twice
declare dso_local i32 @getcontext(...) #1

attributes #0 = { noinline nounwind optnone uwtable }
attributes #1 = { returns_twice }

!llvm.module.flags = !{!0, !1, !2}

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"cf-protection-return", i32 1}
!2 = !{i32 8, !"cf-protection-branch", i32 1}
