aboutsummaryrefslogtreecommitdiffstats
path: root/test/MC
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
parent751e1123cecc4b5c2a86849bb39de317b396c303 (diff)
downloadexternal_llvm-834df19452a551195ab012a8923b646b9a57a0d9.zip
external_llvm-834df19452a551195ab012a8923b646b9a57a0d9.tar.gz
external_llvm-834df19452a551195ab012a8923b646b9a57a0d9.tar.bz2
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')
-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 53b79ee..185df8f 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]