perf tools: Add AVX-512 support to the instruction decoder used by Intel PT
authorAdrian Hunter <[email protected]>
Wed, 20 Jul 2016 08:30:36 +0000 (11:30 +0300)
committerArnaldo Carvalho de Melo <[email protected]>
Thu, 21 Jul 2016 12:37:18 +0000 (09:37 -0300)
commitc61f4d5ebaf05fbd90bf43aa2096690b85e34761
tree5edd82fde5b9daa6752e7258a64f23cfde4b50ff
parent25af37f4e1e0a747824e3713b80d6b97dad28b7c
perf tools: Add AVX-512 support to the instruction decoder used by Intel PT

Add support for Intel's AVX-512 instructions to perf tools instruction
decoder used by Intel PT.  The kernel's instruction decoder was updated in
a previous patch.

AVX-512 instructions are documented in Intel Architecture Instruction Set
Extensions Programming Reference (February 2016).

AVX-512 instructions are identified by a EVEX prefix which, for the purpose
of instruction decoding, can be treated as though it were a 4-byte VEX
prefix.

Existing instructions which can now accept an EVEX prefix need not be
further annotated in the op code map (x86-opcode-map.txt). In the case of
new instructions, the op code map is updated accordingly.

Also add associated Mask Instructions that are used to manipulate mask
registers used in AVX-512 instructions.

A representative set of instructions is added to the perf tools new
instructions test in a subsequent patch.

Signed-off-by: Adrian Hunter <[email protected]>
Acked-by: Ingo Molnar <[email protected]>
Acked-by: Masami Hiramatsu <[email protected]>
Cc: Andy Lutomirski <[email protected]>
Cc: Dan Williams <[email protected]>
Cc: H. Peter Anvin <[email protected]>
Cc: Jiri Olsa <[email protected]>
Cc: Thomas Gleixner <[email protected]>
Cc: X86 ML <[email protected]>
Link: http://lkml.kernel.org/r/[email protected]
Signed-off-by: Arnaldo Carvalho de Melo <[email protected]>
tools/perf/util/intel-pt-decoder/gen-insn-attr-x86.awk
tools/perf/util/intel-pt-decoder/inat.h
tools/perf/util/intel-pt-decoder/insn.c
tools/perf/util/intel-pt-decoder/insn.h
tools/perf/util/intel-pt-decoder/x86-opcode-map.txt