diff options
| author | Andrew V. Tischenko <andrew.v.tischenko@gmail.com> | 2018-01-17 10:12:06 +0000 |
|---|---|---|
| committer | Andrew V. Tischenko <andrew.v.tischenko@gmail.com> | 2018-01-17 10:12:06 +0000 |
| commit | f7706994a6efe2b603b2706c5b1ea54fadea67ff (patch) | |
| tree | 291213de728949589dcc362d90f451cda7733de0 /llvm/test | |
| parent | 0c9516b36c90a2ef92ca04d457ff158052f8fde1 (diff) | |
| download | bcm5719-llvm-f7706994a6efe2b603b2706c5b1ea54fadea67ff.tar.gz bcm5719-llvm-f7706994a6efe2b603b2706c5b1ea54fadea67ff.zip | |
Allow usage of X86-prefixes as separate instrs.
Differential Revision: https://reviews.llvm.org/D42102
llvm-svn: 322623
Diffstat (limited to 'llvm/test')
| -rw-r--r-- | llvm/test/CodeGen/X86/inline-asm-A-constraint.ll | 3 | ||||
| -rw-r--r-- | llvm/test/MC/X86/x86-64.s | 38 |
2 files changed, 39 insertions, 2 deletions
diff --git a/llvm/test/CodeGen/X86/inline-asm-A-constraint.ll b/llvm/test/CodeGen/X86/inline-asm-A-constraint.ll index 7975b318eff..2ad011e88e0 100644 --- a/llvm/test/CodeGen/X86/inline-asm-A-constraint.ll +++ b/llvm/test/CodeGen/X86/inline-asm-A-constraint.ll @@ -19,7 +19,8 @@ entry: %.fca.1.insert = insertvalue { i64, i64 } %.fca.0.insert, i64 %retval.sroa.2.0.extract.trunc, 1 ret { i64, i64 } %.fca.1.insert } -; CHECK: lock cmpxchg16b +; CHECK: lock +; CHECK-NEXT: cmpxchg16b attributes #0 = { nounwind uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "less-precise-fpmad"="false" "no-frame-pointer-elim"="true" "no-frame-pointer-elim-non-leaf" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="false" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } attributes #1 = { nounwind } diff --git a/llvm/test/MC/X86/x86-64.s b/llvm/test/MC/X86/x86-64.s index e47c9d9019b..7b279f3b1a6 100644 --- a/llvm/test/MC/X86/x86-64.s +++ b/llvm/test/MC/X86/x86-64.s @@ -99,7 +99,8 @@ // CHECK: shll $2, %eax sall $2, %eax -// CHECK: rep movsb +// CHECK: rep +// CHECK-NEXT: movsb rep # comment movsb @@ -1557,3 +1558,38 @@ ptwriteq 0xdeadbeef(%rbx,%rcx,8) // CHECK: ptwriteq %rax // CHECK: encoding: [0xf3,0x48,0x0f,0xae,0xe0] ptwriteq %rax + +// __asm __volatile( +// "pushf \n\t" +// "popf \n\t" +// "rep \n\t" +// ".byte 0x0f, 0xa7, 0xd0" +// ); +// CHECK: pushfq +// CHECK-NEXT: popfq +// CHECK-NEXT: rep +// CHECK-NEXT: .byte 15 +// CHECK-NEXT: .byte 167 +// CHECK-NEXT: .byte 208 +pushfq +popfq +rep +.byte 15 +.byte 167 +.byte 208 + +// CHECK: lock +// CHECK: cmpxchgl + cmp $0, %edx + je 1f + lock +1: cmpxchgl %ecx,(%rdi) + +// CHECK: rep +// CHECK-NEXT: byte +rep +.byte 0xa4 # movsb + +// CHECK: lock +// This line has to be the last one in the file +lock |

