diff options
author | Craig Topper <craig.topper@gmail.com> | 2017-01-16 06:49:03 +0000 |
---|---|---|
committer | Craig Topper <craig.topper@gmail.com> | 2017-01-16 06:49:03 +0000 |
commit | ad944a1cac1476ae17c8723f3f6821a66d43fb1d (patch) | |
tree | af38499bb042ca135d20d7599dc096a016d925a3 /llvm/lib/Target/X86/Disassembler/X86DisassemblerDecoder.cpp | |
parent | 3173a1f8ffc4a96e5389eea3175ed3a9224eb681 (diff) | |
download | llvm-ad944a1cac1476ae17c8723f3f6821a66d43fb1d.zip llvm-ad944a1cac1476ae17c8723f3f6821a66d43fb1d.tar.gz llvm-ad944a1cac1476ae17c8723f3f6821a66d43fb1d.tar.bz2 |
[X86] Reduce the number of operand 'types' the disassembler needs to deal with. NFCI
We were frequently checking for a list of types and the different types
conveyed no real information. So lump them together explicitly.
llvm-svn: 292095
Diffstat (limited to 'llvm/lib/Target/X86/Disassembler/X86DisassemblerDecoder.cpp')
-rw-r--r-- | llvm/lib/Target/X86/Disassembler/X86DisassemblerDecoder.cpp | 19 |
1 files changed, 5 insertions, 14 deletions
diff --git a/llvm/lib/Target/X86/Disassembler/X86DisassemblerDecoder.cpp b/llvm/lib/Target/X86/Disassembler/X86DisassemblerDecoder.cpp index d3919d5..88fab4b 100644 --- a/llvm/lib/Target/X86/Disassembler/X86DisassemblerDecoder.cpp +++ b/llvm/lib/Target/X86/Disassembler/X86DisassemblerDecoder.cpp @@ -1475,21 +1475,13 @@ static int readModRM(struct InternalInstruction* insn) { return prefix##_EAX + index; \ case TYPE_R64: \ return prefix##_RAX + index; \ - case TYPE_XMM512: \ + case TYPE_ZMM: \ return prefix##_ZMM0 + index; \ - case TYPE_XMM256: \ + case TYPE_YMM: \ return prefix##_YMM0 + index; \ - case TYPE_XMM128: \ - case TYPE_XMM64: \ - case TYPE_XMM32: \ + case TYPE_XMM: \ return prefix##_XMM0 + index; \ - case TYPE_VK1: \ - case TYPE_VK2: \ - case TYPE_VK4: \ - case TYPE_VK8: \ - case TYPE_VK16: \ - case TYPE_VK32: \ - case TYPE_VK64: \ + case TYPE_VK: \ if (index > 7) \ *valid = 0; \ return prefix##_K0 + index; \ @@ -1787,8 +1779,7 @@ static int readOperands(struct InternalInstruction* insn) { } if (readImmediate(insn, 1)) return -1; - if (Op.type == TYPE_XMM128 || - Op.type == TYPE_XMM256) + if (Op.type == TYPE_XMM || Op.type == TYPE_YMM) sawRegImm = 1; break; case ENCODING_IW: |