This patch adds a test suite based on binutil's gas test suite. It is not equivalent to binutil's suite. For example, DynamoRio does not have an assembler reading mnemonics.
The suite adds a collection of decoder/encoder tests and compares its disassembler output. The expected disassembler strings have been generated by DynamoRIO at the time this suite was created. Hence, it is not golden reference with respect to binutils. There are minor differences between objdump and DynamoRIO's disassembler output that would need to get resolved. This is a possible future improvement to this suite.
Decoding and encoding errors have been debugged and inspected (xref #3577, #3578, #3581 (closed)). Unsupported instructions are either referenced by these issues, or have been removed from the original binutils test suite. For example, unsupported CPL 0 instructions have been removed.
The suite was moved to third_party to honor GNU GPL. Only the .asm files of this suite are subject to GNU GPL.
Large parts of the regression are currently commented out, specifically AVX-512 (xref i#1312), MPX, SHA, VMX (xref i#3581) and others (issues mentioned above).
Issue: #3574