Open AssadHashmi opened 2 years ago
Would this be related to #4393?
Would this be related to https://github.com/DynamoRIO/dynamorio/issues/4393?
Yes. Partitioning by version will cleanly separate the current method of definition and generation from a future method.
Is there a plan to expose the ISA version in the IR interface? Would it be in the instruction structure, or all ISA version changes are assumed to be completely isolated by opcode (i.e., a version never adds a variant of an existing opcode) and it can be looked up purely from the opcode?
The current methods of defining and generating encode and decode functionality are not scalable for implementing support of ISA versions after v8.0
At present AArch64 has one
codec.txt
and onecodec.c
file which defines all instructions currently supported as well as all the bitmask and operand definitions. Encode and decode data and code generated fromcodec.txt
are also all in one set of files regardless of ISA version.Test files like
dis-a64.txt
andir_aarch64.c
contain all encode/decode instructions tests.This issue will track separation of the codec by ISA version for the purposes of reduced maintenance overhead and more reliable functionality.