DynamoRIO / DynamoRIO/dynamorio

Add API to query which AArch64 ISA feature an instruction belongs to

Open
#7,842 2 comments 0 reactions 0 assignees View on GitHub
Component-API Component-IR OpSys-AArch64 Type-Feature
Dominant language
C
Stars
3.2k
Forks
629
Avg merge
2d 18h
Merged PRs (30d)
30

Description

We have a use case of identifying whether an instr_t is SVE/SVE2.

For x86 DR never had the source ISA release as a first class field and so old tools like drcpusim would figure out SSE vs SSE2 and other categories using helper functions in DR API that list opcodes: e.g., instr_is_sse().

But for AArch64 the ISA feature group is a first class field in the decoder/encoder codec, and I see SVE and SVE2 columns in core/ir/aarch64/codec*.txt.

Presumably there's nowhere in instr_t that holds such a thing, so this would be deduced by doing an encoding walk to find the target template and then grabbing the feature field from the template.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.