summaryrefslogtreecommitdiff
path: root/test/MC/AsmParser
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2010-07-08 22:28:12 +0000
committerChris Lattner <sabre@nondot.org>2010-07-08 22:28:12 +0000
commit834df19452a551195ab012a8923b646b9a57a0d9 (patch)
tree0a915812dca08a101ab5a5a4ba81468f95b3ed45 /test/MC/AsmParser
parent751e1123cecc4b5c2a86849bb39de317b396c303 (diff)
downloadllvm-834df19452a551195ab012a8923b646b9a57a0d9.tar.gz
llvm-834df19452a551195ab012a8923b646b9a57a0d9.tar.bz2
llvm-834df19452a551195ab012a8923b646b9a57a0d9.tar.xz
Rework segment prefix emission code to handle segments
in memory operands at the same type as hard coded segments. This fixes problems where we'd emit the segment override after the REX prefix on instructions like: mov %gs:(%rdi), %rax This fixes rdar://8127102. I have several cleanup patches coming next. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107917 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/MC/AsmParser')
-rw-r--r--test/MC/AsmParser/X86/x86_64-encoding.s5
1 files changed, 5 insertions, 0 deletions
diff --git a/test/MC/AsmParser/X86/x86_64-encoding.s b/test/MC/AsmParser/X86/x86_64-encoding.s
index 53b79ee1dd..185df8f2e0 100644
--- a/test/MC/AsmParser/X86/x86_64-encoding.s
+++ b/test/MC/AsmParser/X86/x86_64-encoding.s
@@ -4,6 +4,11 @@
// CHECK: callw 42
// CHECK: encoding: [0x66,0xe8,A,A]
callw 42
+
+// rdar://8127102
+// CHECK: movq %gs:(%rdi), %rax
+// CHECK: encoding: [0x65,0x48,0x8b,0x07]
+movq %gs:(%rdi), %rax
// CHECK: crc32b %bl, %eax
// CHECK: encoding: [0xf2,0x0f,0x38,0xf0,0xc3]