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

Add pseudoinstruction VNEG #33

Open
wants to merge 26 commits into
base: JSON
Choose a base branch
from
Open

Commits on Jun 19, 2024

  1. Assembly for hint instructions needs spaces after mnemonics

    Signed-off-by: Paul A. Clarke <[email protected]>
    ThinkOpenly committed Jun 19, 2024
    Configuration menu
    Copy the full SHA
    f26d17d View commit details
    Browse the repository at this point in the history
  2. Add json target

    Produces JSON representation of instructions, operands, opcode layouts, etc.
    Not claimed to be exhaustive.
    
    Depends on https://github.com/ThinkOpenly/riscvdecode.
    
    Signed-off-by: Paul A. Clarke <[email protected]>
    ThinkOpenly committed Jun 19, 2024
    Configuration menu
    Copy the full SHA
    11a9f93 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    66ca42a View commit details
    Browse the repository at this point in the history
  4. WIP

    ThinkOpenly committed Jun 19, 2024
    Configuration menu
    Copy the full SHA
    83b7f54 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    d2e3009 View commit details
    Browse the repository at this point in the history
  6. hints again

    ThinkOpenly committed Jun 19, 2024
    Configuration menu
    Copy the full SHA
    4adc0a6 View commit details
    Browse the repository at this point in the history
  7. extensions "V" and "Zbkb"

    ThinkOpenly committed Jun 19, 2024
    Configuration menu
    Copy the full SHA
    1e6b213 View commit details
    Browse the repository at this point in the history
  8. Add C extension conditionals

    Sanket-0510 authored and ThinkOpenly committed Jun 19, 2024
    Configuration menu
    Copy the full SHA
    4746476 View commit details
    Browse the repository at this point in the history
  9. Use extension discriminator for "A" and "M" extensions

    More support for ThinkOpenly#4.
    Using the `extension()` function in `mapping clause encdec` expressions for extensions allows a parser to clearly know when a function is part of an extension (or set of extensions).
    Bakugo90 authored and ThinkOpenly committed Jun 19, 2024
    Configuration menu
    Copy the full SHA
    7596938 View commit details
    Browse the repository at this point in the history
  10. Added names and descriptions for some instructions in riscv_insts_bas…

    …e.sail
    
    Added instruction names and descriptions
    
    * Adds names for instructions in `riscv_insts_base.sail` using the attributes approach
    
    * Descriptions are added to instructions in the same file using the doc comments approach
    jriyyya authored and ThinkOpenly committed Jun 19, 2024
    Configuration menu
    Copy the full SHA
    da29d41 View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    8873845 View commit details
    Browse the repository at this point in the history
  12. [JSON] Suppress command echo to stdout

    Currently, when executing `make json`, the command itself is echoed,
    causing issues with the JSON representation.
    
    This PR Suppress this echoing, ensuring a proper JSON output
    without the need for any manual editing later on.
    snapdgn authored and ThinkOpenly committed Jun 19, 2024
    Configuration menu
    Copy the full SHA
    294b661 View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    316405f View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    ef956d4 View commit details
    Browse the repository at this point in the history
  15. Configuration menu
    Copy the full SHA
    8af82b3 View commit details
    Browse the repository at this point in the history
  16. Add names for some instructions within groups

    Some instructions are grouped in a single `mapping clause assembly`
    where the respective mnemonics are embedded within a separate `mapping`.
    
    For instructions which are _not_ grouped, the name of the instruction
    can be added as an attribute to any of the instruction-specific constructs.
    
    For grouped instructions, the attribute needs to be added to a construct
    at the granularity of the specific instruction. Here, we attach the
    attribute within the individual element of the `mapping` that includes
    the actual instruction mnemonic.
    
    This approach is still insufficient for mnemonics that are constructed:
    ```
    mapping clause assembly = VLSEGTYPE(nf, vm, rs1, width, vd)
      <-> "vl" ^ nfields_string(nf) ^ "e" ^ vlewidth_bitsnumberstr(width) ^ ".v" [...]
    ```
    ...so more thought is needed here.
    
    Also, I'm settling on a convention of using lower case (not Leading Caps),
    at least for now. This matches how the instruction names are written in
    the ISA specification, at least for those instructions for which the name
    is actually provided. :-/
    ThinkOpenly committed Jun 19, 2024
    Configuration menu
    Copy the full SHA
    0aadb00 View commit details
    Browse the repository at this point in the history
  17. Make use of extension() instead of have*()

    * Move definition of function of `extension`
    * Utilize extension() instead of `haveZmmul()`
    * Utilize extension() instead of `haveUsrMode()`
    * Utilize extension() instead of `haveSupMode()`
    * Utilize extension() instead of `haveNExt()`
    * Utilize extension() instead of `haveZkr()`
    * Utilize extension() instead of `haveUsrMode()`
    * Move comments from `have*` functions into `extension` function
    * Delete all unused  `have*` definitions of various extensions
    
    Fixes ThinkOpenly#4 .
    jriyyya authored and ThinkOpenly committed Jun 19, 2024
    Configuration menu
    Copy the full SHA
    de3f0fd View commit details
    Browse the repository at this point in the history
  18. Add compilation steps to README.md

    Authored-by: Joydeep Tripathy <[email protected]>
    joydeep049 authored and ThinkOpenly committed Jun 19, 2024
    Configuration menu
    Copy the full SHA
    b4a1d40 View commit details
    Browse the repository at this point in the history
  19. Configuration menu
    Copy the full SHA
    f381848 View commit details
    Browse the repository at this point in the history
  20. Add newline at end of JSON.md

    GitHub CI is complaining:
    ```
    fix end of files.....................Failed
    - hook id: end-of-file-fixer
    - exit code: 1
    - files were modified by this hook
    
    Fixing doc/JSON.md
    [...]
    All changes made by hooks:
    diff --git a/doc/JSON.md b/doc/JSON.md
    index 82170ef..fc7f9cc 100644
    [...]
    -4.  Within that clone : `make json`
    \ No newline at end of file
    +4.  Within that clone : `make json`
    Error: Process completed with exit code 1.
    ```
    ThinkOpenly committed Jun 19, 2024
    Configuration menu
    Copy the full SHA
    b0c4e64 View commit details
    Browse the repository at this point in the history
  21. Configuration menu
    Copy the full SHA
    f460671 View commit details
    Browse the repository at this point in the history
  22. Configuration menu
    Copy the full SHA
    f83f1a6 View commit details
    Browse the repository at this point in the history
  23. Configuration menu
    Copy the full SHA
    2c50fef View commit details
    Browse the repository at this point in the history
  24. Replace Unicode with ASCII in a few places

    The JSON backend extracts function code verbatim into JSON format.
    Unfortunately, the Unicode "Less-than Or Equal To" character, when embedded in
    JSON, even when escaped using OCaml `String.escaped` does not successfully parse
    with Python (3.10.12).
    
    For now, at least, revert the Unicode symbol to the ASCII equivalent, which is
    exactly what is used in the corresponding code and thus might even reduce the
    chance of confusion.
    ThinkOpenly committed Jun 19, 2024
    Configuration menu
    Copy the full SHA
    5b70681 View commit details
    Browse the repository at this point in the history

Commits on Jul 2, 2024

  1. Add names for AES instructions

    Linda-Njau authored and ThinkOpenly committed Jul 2, 2024
    Configuration menu
    Copy the full SHA
    3894149 View commit details
    Browse the repository at this point in the history

Commits on Jul 8, 2024

  1. Configuration menu
    Copy the full SHA
    a039fcf View commit details
    Browse the repository at this point in the history