| ; 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)"} |