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 support for Xpulp related extensions #1

Open
wants to merge 16 commits into
base: corev-mcu-dev
Choose a base branch
from

Commits on May 12, 2023

  1. target/riscv: Add support for Xcvmem extension

    Add support for Post-Incrementing Load & Store Instructions.
    Add support for Register-Register Load & Store Instructions.
    
    Signed-off-by: Weiwei Li <[email protected]>
    Signed-off-by: Junqiang Wang <[email protected]>
    Weiwei Li committed May 12, 2023
    Configuration menu
    Copy the full SHA
    3e5d495 View commit details
    Browse the repository at this point in the history
  2. target/riscv: Add support for Xcvhwlp hardware loop extension

    Support at most 2 nested hardware loop with following constraints:
    
    - Start and End addresses of an HWLoop must be 32-bit aligned.
    - End Address must be strictly greater than Start Address.
    - End address of an HWLoop must point to the instruction just after the
      last one of the HWLoop body.
    - HWLoop body must contain at least 3 instructions.
    - When both loops are nested, the End address of the outermost HWLoop
      (must be #1) must be at least 2 instructions further than the End address
      of the innermost HWLoop (must be #0), i.e. HWLoop[1].endaddress >=
      HWLoop[0].endaddress + 8.
    - HWLoop must always be entered from its start location (no branch/jump
      to a location inside a HWLoop body).
    - No HWLoop #0 (resp. #1) CSR should be modified inside the HWLoop #0
      (resp. #1) body.
    - No Compressed instructions (RVC) allowed in the HWLoop body.
    - No jump or branch instructions allowed in the HWLoop body.
    - No memory ordering instructions (fence, fence.i) allowed in the HWLoop body.
    - No privileged instructions (mret, dret, ecall, wfi) allowed in the HWLoop
      body, except for ebreak.
    
    Signed-off-by: Weiwei Li <[email protected]>
    Signed-off-by: Junqiang Wang <[email protected]>
    Weiwei Li committed May 12, 2023
    Configuration menu
    Copy the full SHA
    14606f6 View commit details
    Browse the repository at this point in the history
  3. target/riscv: Add support for Xpulp SIMD ALU instructions(part 1)

    Add support for Xpulp SIMD add/sub/avg{u}/min{u}/max{u} instructions.
    
    Signed-off-by: Weiwei Li <[email protected]>
    Signed-off-by: Junqiang Wang <[email protected]>
    Weiwei Li committed May 12, 2023
    Configuration menu
    Copy the full SHA
    f18002b View commit details
    Browse the repository at this point in the history
  4. target/riscv: Add support for Xpulp SIMD ALU instructions(part 2)

    Add support for Xpulp SIMD shift instructions.
    
    Signed-off-by: Weiwei Li <[email protected]>
    Signed-off-by: Junqiang Wang <[email protected]>
    Weiwei Li committed May 12, 2023
    Configuration menu
    Copy the full SHA
    e872260 View commit details
    Browse the repository at this point in the history
  5. target/riscv: Add support for Xpulp SIMD ALU instructions(part 3)

    Add support for Xpulp SIMD or/and/xor/abs/extract{u}/insert instructions.
    
    Signed-off-by: Weiwei Li <[email protected]>
    Signed-off-by: Junqiang Wang <[email protected]>
    Weiwei Li committed May 12, 2023
    Configuration menu
    Copy the full SHA
    97ed16b View commit details
    Browse the repository at this point in the history
  6. target/riscv: Add support for Xpulp SIMD Dot Product instructions

    Add support for Xpulp SIMD {s}dot{up/sp/usp} instructions.
    
    Signed-off-by: Weiwei Li <[email protected]>
    Signed-off-by: Junqiang Wang <[email protected]>
    Weiwei Li committed May 12, 2023
    Configuration menu
    Copy the full SHA
    30d9b3e View commit details
    Browse the repository at this point in the history
  7. target/riscv: Add support for Xpulp SIMD Shuffle/Pack instructions

    Add support for Xpulp SIMD shuffle and pack related instructions.
    
    Signed-off-by: Weiwei Li <[email protected]>
    Signed-off-by: Junqiang Wang <[email protected]>
    Weiwei Li committed May 12, 2023
    Configuration menu
    Copy the full SHA
    1ba42a8 View commit details
    Browse the repository at this point in the history
  8. target/riscv: Add support for Xpulp SIMD Comparison instructions

    Add support for Xpulp SIMD cmp{eq/ne/gt{u}/ge{u}/lt{u}/le{u}} instructions.
    
    Signed-off-by: Weiwei Li <[email protected]>
    Signed-off-by: Junqiang Wang <[email protected]>
    Weiwei Li committed May 12, 2023
    Configuration menu
    Copy the full SHA
    79affdf View commit details
    Browse the repository at this point in the history
  9. target/riscv: Add support for Xpulp SIMD Complex-numbers instructions

    Add support for Xpulp SIMD subrotmj/cplxconf/cplxmul/add.div*/sub.div*
    instructions.
    
    Signed-off-by: Weiwei Li <[email protected]>
    Signed-off-by: Junqiang Wang <[email protected]>
    Weiwei Li committed May 12, 2023
    Configuration menu
    Copy the full SHA
    3f74311 View commit details
    Browse the repository at this point in the history
  10. target/riscv: Add support for Xpulp Multiply-Accumulate instructions

    Add support for Xpulp Multiply-Accumulate instructions such as cv_mac/
    msu/muluN...
    
    Signed-off-by: Weiwei Li <[email protected]>
    Signed-off-by: Junqiang Wang <[email protected]>
    Weiwei Li committed May 12, 2023
    Configuration menu
    Copy the full SHA
    0b46d26 View commit details
    Browse the repository at this point in the history
  11. target/riscv: Add support for Xpulp Bit Manipulation instructions

    Add support for Xpulp Bit Manipulation instructions such as
    cv_extract{u}/insert/bclr...
    
    Signed-off-by: Weiwei Li <[email protected]>
    Signed-off-by: Junqiang Wang <[email protected]>
    Weiwei Li committed May 12, 2023
    Configuration menu
    Copy the full SHA
    8d0906c View commit details
    Browse the repository at this point in the history
  12. target/riscv: Add support for General ALU instructions

    Add support for General ALU instructions such as cv_abs/slet/clip/addN...
    
    Signed-off-by: Weiwei Li <[email protected]>
    Signed-off-by: Junqiang Wang <[email protected]>
    Weiwei Li committed May 12, 2023
    Configuration menu
    Copy the full SHA
    ca05173 View commit details
    Browse the repository at this point in the history
  13. target/riscv: Add support for Immediate Branching instructions

    Add support for Immediate Branching instructions cv_beqimm/bneimm.
    
    Signed-off-by: Weiwei Li <[email protected]>
    Signed-off-by: Junqiang Wang <[email protected]>
    Weiwei Li committed May 12, 2023
    Configuration menu
    Copy the full SHA
    05fa152 View commit details
    Browse the repository at this point in the history
  14. target/riscv: Expose property flags for xpulp

    Expose xcv* properties and set the default value to false.
    
    Signed-off-by: Weiwei Li <[email protected]>
    Signed-off-by: Junqiang Wang <[email protected]>
    Weiwei Li committed May 12, 2023
    Configuration menu
    Copy the full SHA
    0cdf18a View commit details
    Browse the repository at this point in the history

Commits on Jul 12, 2023

  1. 81d09c6: When same register is used as address and destination (rD ==…

    … rs1)
    
    for post-incremented loads (rs1!), loaded data has highest priority over
    incremented address when writing to this same register.
    Weiwei Li committed Jul 12, 2023
    Configuration menu
    Copy the full SHA
    d1a733f View commit details
    Browse the repository at this point in the history

Commits on Sep 7, 2023

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