DynamoRIO / dynamorio

Dynamic Instrumentation Tool Platform
Other
2.63k stars 557 forks source link

i#3544 RV64 vector part2: Add basic vector support to the core #6848

Closed ksco closed 3 months ago

ksco commented 3 months ago

This is a follow-up patch of adding RISC-V vector (RVV) extension support to the core, part1 in PR #6810 (f1ce1bca).

This patch:

  1. fixes several issues in the codec introduced in part1, codec unit tests will be submitted separately in follow-up PRs;
  2. rename and reuse SVE vector length getter/setter functions to be more concise on APIs for vector extensions;
  3. adds RISC-V vector support to drdisas;
  4. support code cache and clean call context switch;

For now, we support RISC-V vector lengths up to 256 bits, longer vector lengths will exceed the limit of DynamoRIO stack size and 12-bit signed immediate range.

Issue: #3544

derekbruening commented 3 months ago

(May not get to this for another day)

derekbruening commented 3 months ago

May want to have the Arm folks have a look mostly as a heads up on the vector length API name changes: I'll add @AssadHashmi

AssadHashmi commented 3 months ago

May want to have the Arm folks have a look mostly as a heads up on the vector length API name changes: I'll add @AssadHashmi

I have been on vacation. The name changes are fine with us.