summaryrefslogtreecommitdiff
path: root/test/MC
diff options
context:
space:
mode:
authorHans Wennborg <hans@hanshq.net>2018-01-17 13:56:34 +0000
committerHans Wennborg <hans@hanshq.net>2018-01-17 13:56:34 +0000
commit29a8dcdf238d500e557b27dc7f405d67ca6961f9 (patch)
tree6de30561701693274d7fb9c7c32fda85f1adfbf1 /test/MC
parent5b475f791b19ff2a0e40d9115006acdda83ecb8b (diff)
Merging r322623:
------------------------------------------------------------------------ r322623 | avt77 | 2018-01-17 02:12:06 -0800 (Wed, 17 Jan 2018) | 3 lines Allow usage of X86-prefixes as separate instrs. Differential Revision: https://reviews.llvm.org/D42102 ------------------------------------------------------------------------ git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_60@322654 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/MC')
-rw-r--r--test/MC/X86/x86-64.s38
1 files changed, 37 insertions, 1 deletions
diff --git a/test/MC/X86/x86-64.s b/test/MC/X86/x86-64.s
index 23846d921a8..378af768fa9 100644
--- a/test/MC/X86/x86-64.s
+++ b/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