i#1551 port to ARM: INSTR_CREATE_ macro generation script

Adds a new script that reads the decoding tables, normalizes types to base
types that the user cares about (currently SIMD are all mapped to one
type), constructs macro signatures for every form of every instruction,
adds suffixes to the macro names to make them unique, transforms registers
into the assembly names "Rd", "Rn", etc., groups the macros by common
signatures, adds Doxygen comments for each, and outputs the result.

Currently some aspects of the macros do not match the assembly format, such
as dsts always preceding srcs (except for varargs).  i#1563 covers
improving that.

Macros for aliases like OP_push are still missing and will be manually added.

As mentioned, the script creates separate routines for each set of types,
but we may want to collapse more of them: e.g., this version of the script
has separate INSTR_CREATE_add(dc, Rd, Rn, Rm) and INSTR_CREATE_add_imm(dc,
Rd, Rn, imm) macros.

git-svn-id: https://dynamorio.googlecode.com/svn/trunk@2992 49cc7528-f6fd-11dd-9d1a-b59b2e1864b6
1 file changed