Skip to content

assembler .option directives for Zc* #52

@silabs-hfegran

Description

@silabs-hfegran

For the compressed instructions we have the .option rvc and .option norvc assembler directives, however
with the introduction of Zc*, these are no longer usable and the current situation is as follows:

  • .option rvc :
    • Not allowed in combination with Zc*, flagged as error
    • No way to prevent Zc* in certain sections of code
  • .option norvc :
    • No error message
    • Does this actually disallow Zca? Zc*?

The behavior for these options with Zc should either be clearly defined, and apply to the previous C-instructions; or should have its own options defined.

Some possible solutions:

  1. .option rvc/norvc: Applies to all Zc* instructions
  2. .option rvc/norvc: Applies to all Zc instructions (in effect, identical to previous C-behavior)
  3. .option rvzc/norvzc: Same as option 1, but renamed
  4. .option rvzc*/norvzc*: Specific options for each sub-extension, would there actually be a need for this?
  5. .option rvzc/norvzc + option rvzc*/norvzc*: Both "catch-all" option and specific sub-extension option

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions