Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

xtensa RzIL #4712

Draft
wants to merge 13 commits into
base: dev
Choose a base branch
from
Draft

xtensa RzIL #4712

wants to merge 13 commits into from

Conversation

imbillow
Copy link
Contributor

@imbillow imbillow commented Nov 11, 2024

Your checklist for this pull request

  • I've read the guidelines for contributing to this repository
  • I made sure to follow the project's coding style
  • I've documented or updated the documentation of every function and struct this PR changes. If not so I've explained why.
  • I've added tests that prove my fix is effective or that my feature works (if possible)
  • I've updated the rizin book with the relevant information (if needed)

Detailed description

xtensa: add rzil support

Test plan

...

Closing issues

...

@XVilka XVilka mentioned this pull request Nov 14, 2024
38 tasks
@XVilka XVilka added this to the 0.8.0 milestone Nov 19, 2024
@github-actions github-actions bot added the ARM label Nov 23, 2024
@imbillow imbillow force-pushed the xtensa-rzil branch 5 times, most recently from c5b7690 to 8343e23 Compare November 28, 2024 11:30
@imbillow
Copy link
Contributor Author

Basic pass is done.

- **Add support for rzIL**: Implement various Xtensa instructions and functionalities.
- **Instruction Set Additions**:
  - **Arithmetic and Logical Operations**: sub*, add*, and*, or*, xor*, mul*, div*, rem*, neg*, abs, addi*, addmi, addexp*, addexpm*, addx2|4|8
  - **Bitwise Operations**: srl*, sra*, sll*, andb, andbc, nsau, nsa
  - **Branching and Jumps**: b*, beq*, bne*, ball, bany, bnall, bnone, j, jx, loop*, loopgez, loopnez
  - **Data Transfer**: st*, ld*, l32*, l16*, l8ui, ssi*, ssa*, src
  - **Floating Point**: sqrt0.s, float.s, floor.s, trunc*, ueq*, ule*, ult*, ufloat*, neg.s, oeq.s, ole.s, olt.s, min, max, clamps, nex
  - **System Calls and Synchronization**: syscall, simcall, entry, isync, dsync, esync, rsync, memw
  - **Miscellaneous**: const_s, extui, extw, excw, sext, witlb, wur, rur.*, mksadj.ss, mkdadj.s, const_s

- **Testing and Patches**:
  - Implement asm tests for all

- **Miscellaneous Improvements**:
  - Update Capstone and fix ARM architecture support for building.

This commit consolidates various enhancements, bug fixes, and testing for Xtensa architecture within rzil framework.
@github-actions github-actions bot added the API label Dec 9, 2024
@@ -82,6 +82,7 @@
#define FROUND(rmode, fl) rz_il_op_new_fround(rmode, fl)
#define FSQRT(rmode, fl) rz_il_op_new_fsqrt(rmode, fl)
#define FRSQRT(rmode, fl) rz_il_op_new_frsqrt(rmode, fl)
#define FEXCEPT(e, fl) rz_il_op_new_fexcept(e, fl)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Seems there is mismatch - in some places it's except, in others - expect

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants