; RUN: llc %s -o - | sed -n -e '/#APP/,/#NO_APP/p' > %t
; RUN: sed -n -e 's/^;CHECK://p' %s > %t2
; RUN: diff %t %t2

target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"

; Function Attrs: nounwind uwtable
define void @foo() #0 {
entry:
  call void asm sideeffect "", "~{dirflag},~{fpsr},~{flags}"() #0
;CHECK:	#APP
;CHECK:	#NO_APP
  call void asm sideeffect " ", "~{dirflag},~{fpsr},~{flags}"() #0
;CHECK:	#APP
;CHECK:
;CHECK:	#NO_APP
  call void asm sideeffect "\0A", "~{dirflag},~{fpsr},~{flags}"() #0
;CHECK:	#APP
;CHECK:
;CHECK:
;CHECK:	#NO_APP
  call void asm sideeffect "/*isolated c comment*/", "~{dirflag},~{fpsr},~{flags}"() #0
;CHECK:	#APP
;CHECK:	#isolated c comment
;CHECK:	#NO_APP
  call void asm sideeffect "/**/", "~{dirflag},~{fpsr},~{flags}"() #0
;CHECK:	#APP
;CHECK:	#
;CHECK:	#NO_APP
  call void asm sideeffect "/*comment with\0Anewline*/", "~{dirflag},~{fpsr},~{flags}"() #0
;CHECK:	#APP
;CHECK:	#comment with
;CHECK:	#newline
;CHECK:	#NO_APP
  call void asm sideeffect "//isolated line comment", "~{dirflag},~{fpsr},~{flags}"() #0
;CHECK:	#APP
;CHECK:	#isolated line comment
;CHECK:	#NO_APP
  call void asm sideeffect "#isolated line comment", "~{dirflag},~{fpsr},~{flags}"() #0
;CHECK:	#APP
;CHECK:	#isolated line comment
;CHECK:	#NO_APP
   call void asm sideeffect "nop /* after nop */", "~{dirflag},~{fpsr},~{flags}"() #0
;CHECK:	#APP
;CHECK:	nop	# after nop 
;CHECK:	#NO_APP
  call void asm sideeffect "nop // after nop", "~{dirflag},~{fpsr},~{flags}"() #0
;CHECK:	#APP
;CHECK:	nop	# after nop
;CHECK:	#NO_APP
  call void asm sideeffect "nop # after nop", "~{dirflag},~{fpsr},~{flags}"() #0
;CHECK:	#APP
;CHECK:	nop	# after nop
;CHECK:	#NO_APP
  call void asm sideeffect "nop /* after explicit ended nop */", "~{dirflag},~{fpsr},~{flags}"() #0
;CHECK:	#APP
;CHECK:	nop	# after explicit ended nop 
;CHECK:	#NO_APP
  call void asm sideeffect "nop # after explicit ended nop", "~{dirflag},~{fpsr},~{flags}"() #0
;CHECK:	#APP
;CHECK:	nop	# after explicit ended nop
;CHECK:	#NO_APP
  call void asm sideeffect "nop # after explicit end nop", "~{dirflag},~{fpsr},~{flags}"() #0
;CHECK:	#APP
;CHECK:	nop	# after explicit end nop
;CHECK:	#NO_APP
  call void asm sideeffect "/* before nop */ nop", "~{dirflag},~{fpsr},~{flags}"() #0
;CHECK:	#APP
;CHECK:	nop	# before nop 
;CHECK:	#NO_APP
  call void asm sideeffect "//comment with escaped newline\0A", "~{dirflag},~{fpsr},~{flags}"() #0
;CHECK:	#APP
;CHECK:	#comment with escaped newline
;CHECK:
;CHECK:	#NO_APP
  call void asm sideeffect "/*0*/xor/*1*/%eax,/*2*/%ecx/*3*///eol", "~{dirflag},~{fpsr},~{flags}"() #0
;CHECK:	#APP
;CHECK:	xorl	%eax, %ecx	#0	#1	#2	#3	#eol
;CHECK:	#NO_APP
  ret void
}

attributes #0 = { nounwind }

!llvm.ident = !{!0}

!0 = !{!"clang version 3.9.0 (trunk 268625) (llvm/trunk 268631)"}