diff options
author | Craig Topper <craig.topper@gmail.com> | 2011-11-06 23:04:08 +0000 |
---|---|---|
committer | Craig Topper <craig.topper@gmail.com> | 2011-11-06 23:04:08 +0000 |
commit | f01f1b5cb91d4f97625e863e2c012b023e94b030 (patch) | |
tree | 65533593e045c4e4a4295d9108593c8b20220755 /llvm/utils/TableGen/X86DisassemblerTables.cpp | |
parent | 876657b9c8ca0677de7a905f4a6b18737efeac34 (diff) | |
download | llvm-f01f1b5cb91d4f97625e863e2c012b023e94b030.zip llvm-f01f1b5cb91d4f97625e863e2c012b023e94b030.tar.gz llvm-f01f1b5cb91d4f97625e863e2c012b023e94b030.tar.bz2 |
More AVX2 instructions and their intrinsics.
llvm-svn: 143895
Diffstat (limited to 'llvm/utils/TableGen/X86DisassemblerTables.cpp')
-rw-r--r-- | llvm/utils/TableGen/X86DisassemblerTables.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/llvm/utils/TableGen/X86DisassemblerTables.cpp b/llvm/utils/TableGen/X86DisassemblerTables.cpp index e8c9a48..61e9452 100644 --- a/llvm/utils/TableGen/X86DisassemblerTables.cpp +++ b/llvm/utils/TableGen/X86DisassemblerTables.cpp @@ -95,7 +95,10 @@ static inline bool inheritsFrom(InstructionContext child, case IC_VEX_L: case IC_VEX_L_XS: case IC_VEX_L_XD: + return false; case IC_VEX_L_OPSIZE: + return inheritsFrom(child, IC_VEX_L_W_OPSIZE); + case IC_VEX_L_W_OPSIZE: return false; default: llvm_unreachable("Unknown instruction class"); @@ -494,7 +497,9 @@ void DisassemblerTables::emitContextTable(raw_ostream &o, uint32_t &i) const { for (index = 0; index < 256; ++index) { o.indent(i * 2); - if ((index & ATTR_VEXL) && (index & ATTR_OPSIZE)) + if ((index & ATTR_VEXL) && (index & ATTR_REXW) && (index & ATTR_OPSIZE)) + o << "IC_VEX_L_W_OPSIZE"; + else if ((index & ATTR_VEXL) && (index & ATTR_OPSIZE)) o << "IC_VEX_L_OPSIZE"; else if ((index & ATTR_VEXL) && (index & ATTR_XD)) o << "IC_VEX_L_XD"; |