Skip to content

riscv64: Refactor Inst::generate_imm #6922

@afonso360

Description

@afonso360

👋 Hey,

This is a followup from a comment from @jameysharp in 6915. Inst::generate_imm tries to match a 64 bit constant into a pair of Imm20 and Imm12's so that we can generate that immediate from a pair of instructions.

The current logic is quite complex and somewhat unreadable, but it doesn't need to be. @jameysharp's version is a lot cleaner, and i suspect is just missing a small fix for a few edge cases. We should clean it up.

This function should be able to generate all 32 bit constants, as well as a good number of 64 bit constants.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions