diff options
author | Chris Lattner <sabre@nondot.org> | 2010-07-08 22:28:12 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2010-07-08 22:28:12 +0000 |
commit | 834df19452a551195ab012a8923b646b9a57a0d9 (patch) | |
tree | 0a915812dca08a101ab5a5a4ba81468f95b3ed45 /test/MC | |
parent | 751e1123cecc4b5c2a86849bb39de317b396c303 (diff) | |
download | external_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.s | 5 |
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] |