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

Extension A doesn't define any instructions (anymore) #435

Draft
wants to merge 2 commits into
base: main
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion arch/inst/B/andn.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ description: |
This instruction performs the bitwise logical AND operation between `rs1` and the
bitwise inversion of `rs2`.
definedBy:
anyOf: [B, Zbb, Zbkb, Zk, Zkn, Zks]
anyOf: [Zbb, Zbkb]
assembly: xd, xs1, xs2
encoding:
match: 0100000----------111-----0110011
Expand Down
2 changes: 1 addition & 1 deletion arch/inst/B/clmul.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ long_name: Carry-less multiply (low-part)
description: |
`clmul` produces the lower half of the 2*XLEN carry-less product
definedBy:
anyOf: [B, Zbc, Zbkc, Zk, Zkn, Zks]
anyOf: [Zbc, Zbkc]
assembly: xd, xs1, xs2
encoding:
match: 0000101----------001-----0110011
Expand Down
2 changes: 1 addition & 1 deletion arch/inst/B/clmulh.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ long_name: Carry-less multiply (high-part)
description: |
`clmulh` produces the upper half of the 2*XLEN carry-less product
definedBy:
anyOf: [B, Zbc, Zbkc, Zk, Zkn, Zks]
anyOf: [Zbc, Zbkc]
assembly: xd, xs1, xs2
encoding:
match: 0000101----------011-----0110011
Expand Down
2 changes: 1 addition & 1 deletion arch/inst/B/orn.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ long_name: OR with inverted operand
description: |
This instruction performs the bitwise logical OR operation between rs1 and the bitwise inversion of rs2.
definedBy:
anyOf: [B, Zbb, Zbkb, Zk, Zkn, Zks]
anyOf: [Zbb, Zbkb]
assembly: xd, xs1, xs2
encoding:
match: 0100000----------110-----0110011
Expand Down
2 changes: 1 addition & 1 deletion arch/inst/B/rev8.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ description: |
and halfword-sized byte-reversal, perform a `rev8 rd,rs` followed by a `srai rd,rd,K`, where K
is XLEN-32 and XLEN-16, respectively.
definedBy:
anyOf: [B, Zbb, Zbkb]
anyOf: [Zbb, Zbkb]
assembly: xd, xs1
encoding:
RV32:
Expand Down
2 changes: 1 addition & 1 deletion arch/inst/B/rol.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ long_name: Rotate left (Register)
description: |
This instruction performs a rotate left of rs1 by the amount in least-significant `log2(XLEN)` bits of rs2.
definedBy:
anyOf: [B, Zbb, Zbkb, Zk, Zkn, Zks]
anyOf: [Zbb, Zbkb]
assembly: xd, xs1, xs2
encoding:
match: 0110000----------001-----0110011
Expand Down
2 changes: 1 addition & 1 deletion arch/inst/B/rolw.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ description: |
This instruction performs a rotate left of the least-significant word of rs1 by the amount in least-significant 5 bits of rs2.
The resulting word value is sign-extended by copying bit 31 to all of the more-significant bits.
definedBy:
anyOf: [B, Zbb, Zbkb, Zk, Zkn, Zks]
anyOf: [Zbb, Zbkb]
assembly: xd, xs1, xs2
base: 64
encoding:
Expand Down
2 changes: 1 addition & 1 deletion arch/inst/B/ror.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ long_name: Rotate right (Register)
description: |
This instruction performs a rotate right of rs1 by the amount in least-significant `log2(XLEN)` bits of rs2.
definedBy:
anyOf: [B, Zbb, Zbkb, Zk, Zkn, Zks]
anyOf: [Zbb, Zbkb]
assembly: xd, xs1, xs2
encoding:
match: 0110000----------101-----0110011
Expand Down
2 changes: 1 addition & 1 deletion arch/inst/B/rori.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ description: |
This instruction performs a rotate right of rs1 by the amount in the least-significant log2(XLEN) bits of shamt.
For RV32, the encodings corresponding to shamt[5]=1 are reserved.
definedBy:
anyOf: [B, Zbb, Zbkb, Zk, Zkn, Zks]
anyOf: [Zbb, Zbkb]
assembly: xd, xs1, shamt
encoding:
RV32:
Expand Down
2 changes: 1 addition & 1 deletion arch/inst/B/roriw.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ description: |
the least-significant log2(XLEN) bits of shamt. The resulting word value is sign-extended by
copying bit 31 to all of the more-significant bits.
definedBy:
anyOf: [B, Zbb, Zbkb, Zk, Zkn, Zks]
anyOf: [Zbb, Zbkb]
assembly: xd, xs1, shamt
base: 64
encoding:
Expand Down
2 changes: 1 addition & 1 deletion arch/inst/B/rorw.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ description: |
least-significant 5 bits of rs2. The resultant word is sign-extended by copying bit 31 to all
of the more-significant bits.
definedBy:
anyOf: [B, Zbb, Zbkb, Zk, Zkn, Zks]
anyOf: [Zbb, Zbkb]
assembly: xd, xs1, xs2
base: 64
encoding:
Expand Down
2 changes: 1 addition & 1 deletion arch/inst/B/xnor.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ long_name: Exclusive NOR
description: |
This instruction performs the bit-wise exclusive-NOR operation on rs1 and rs2.
definedBy:
anyOf: [B, Zbb, Zbkb, Zk, Zkn, Zks]
anyOf: [Zbb, Zbkb]
assembly: xd, xs1, xs2
encoding:
match: 0100000----------100-----0110011
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,7 @@ description: |
* Write the loaded value into _rd_
* Add the value of register _rs2_ to the loaded value
* Write the sum to the address in _rs1_
definedBy:
anyOf: [A, Zaamo]
definedBy: Zaamo
base: 64
assembly: xd, xs2, (xs1)
encoding:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,7 @@ description: |
* Write the sign-extended value into _rd_
* Add the least-significant word of register _rs2_ to the loaded value
* Write the sum to the address in _rs1_
definedBy:
anyOf: [A, Zaamo]
definedBy: Zaamo
assembly: xd, xs2, (xrs1)
encoding:
match: 00000------------010-----0101111
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,7 @@ description: |
* Write the loaded value into _rd_
* AND the value of register _rs2_ to the loaded value
* Write the result to the address in _rs1_
definedBy:
anyOf: [A, Zaamo]
definedBy: Zaamo
base: 64
assembly: xd, xs2, (xrs1)
encoding:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,7 @@ description: |
* Write the sign-extended value into _rd_
* AND the least-significant word of register _rs2_ to the loaded value
* Write the result to the address in _rs1_
definedBy:
anyOf: [A, Zaamo]
definedBy: Zaamo
assembly: xd, xs2, (xrs1)
encoding:
match: 01100------------010-----0101111
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,7 @@ description: |
* Write the loaded value into _rd_
* Signed compare the value of register _rs2_ to the loaded value, and select the maximum value
* Write the maximum to the address in _rs1_
definedBy:
anyOf: [A, Zaamo]
definedBy: Zaamo
base: 64
assembly: xd, xs2, (xrs1)
encoding:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,7 @@ description: |
* Write the sign-extended value into _rd_
* Signed compare the least-significant word of register _rs2_ to the loaded value, and select the maximum value
* Write the maximum to the address in _rs1_
definedBy:
anyOf: [A, Zaamo]
definedBy: Zaamo
assembly: xd, xs2, (xrs1)
encoding:
match: 10100------------010-----0101111
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,7 @@ description: |
* Write the loaded value into _rd_
* Unsigned compare the value of register _rs2_ to the loaded value, and select the maximum value
* Write the maximum to the address in _rs1_
definedBy:
anyOf: [A, Zaamo]
definedBy: Zaamo
base: 64
assembly: xd, xs2, (xrs1)
encoding:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,7 @@ description: |
* Write the sign-extended value into _rd_
* Unsigned compare the least-significant word of register _rs2_ to the loaded value, and select the maximum value
* Write the maximum to the address in _rs1_
definedBy:
anyOf: [A, Zaamo]
definedBy: Zaamo
assembly: xd, xs2, (xrs1)
encoding:
match: 11100------------010-----0101111
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,7 @@ description: |
* Write the loaded value into _rd_
* Signed compare the value of register _rs2_ to the loaded value, and select the minimum value
* Write the minimum to the address in _rs1_
definedBy:
anyOf: [A, Zaamo]
definedBy: Zaamo
base: 64
assembly: xd, xs2, (xrs1)
encoding:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,7 @@ description: |
* Write the sign-extended value into _rd_
* Signed compare the least-significant word of register _rs2_ to the loaded value, and select the minimum value
* Write the result to the address in _rs1_
definedBy:
anyOf: [A, Zaamo]
definedBy: Zaamo
assembly: xd, xs2, (xrs1)
encoding:
match: 10000------------010-----0101111
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,7 @@ description: |
* Write the loaded value into _rd_
* Unsigned compare the value of register _rs2_ to the loaded value, and select the minimum value
* Write the minimum to the address in _rs1_
definedBy:
anyOf: [A, Zaamo]
definedBy: Zaamo
base: 64
assembly: xd, xs2, (xrs1)
encoding:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,7 @@ description: |
* Write the sign-extended value into _rd_
* Unsigned compare the least-significant word of register _rs2_ to the loaded word, and select the minimum value
* Write the result to the address in _rs1_
definedBy:
anyOf: [A, Zaamo]
definedBy: Zaamo
assembly: xd, xs2, (xrs1)
encoding:
match: 11000------------010-----0101111
Expand Down
3 changes: 1 addition & 2 deletions arch/inst/A/amoor.d.yaml → arch/inst/Zaamo/amoor.d.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,7 @@ description: |
* Write the loaded value into _rd_
* OR the value of register _rs2_ to the loaded value
* Write the result to the address in _rs1_
definedBy:
anyOf: [A, Zaamo]
definedBy: Zaamo
base: 64
assembly: xd, xs2, (xrs1)
encoding:
Expand Down
3 changes: 1 addition & 2 deletions arch/inst/A/amoor.w.yaml → arch/inst/Zaamo/amoor.w.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,7 @@ description: |
* Write the sign-extended value into _rd_
* OR the least-significant word of register _rs2_ to the loaded value
* Write the result to the address in _rs1_
definedBy:
anyOf: [A, Zaamo]
definedBy: Zaamo
assembly: xd, xs2, (xrs1)
encoding:
match: 01000------------010-----0101111
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,7 @@ description: |
* Load the doubleword at address _rs1_
* Write the value into _rd_
* Store the value of register _rs2_ to the address in _rs1_
definedBy:
anyOf: [A, Zaamo]
definedBy: Zaamo
base: 64
assembly: xd, xs2, (xrs1)
encoding:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,7 @@ description: |
* Load the word at address _rs1_
* Write the sign-extended value into _rd_
* Store the least-significant word of register _rs2_ to the address in _rs1_
definedBy:
anyOf: [A, Zaamo]
definedBy: Zaamo
assembly: xd, xs2, (xrs1)
encoding:
match: 00001------------010-----0101111
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,7 @@ description: |
* Write the loaded value into _rd_
* XOR the value of register _rs2_ to the loaded value
* Write the result to the address in _rs1_
definedBy:
anyOf: [A, Zaamo]
definedBy: Zaamo
base: 64
assembly: xd, xs2, (xrs1)
encoding:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,7 @@ description: |
* Write the sign-extended value into _rd_
* XOR the least-significant word of register _rs2_ to the loaded value
* Write the result to the address in _rs1_
definedBy:
anyOf: [A, Zaamo]
definedBy: Zaamo
assembly: xd, xs2, (xrs1)
encoding:
match: 00100------------010-----0101111
Expand Down
3 changes: 1 addition & 2 deletions arch/inst/A/lr.d.yaml → arch/inst/Zalrsc/lr.d.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -42,8 +42,7 @@ description: |
Software should not set the _rl_ bit on an LR instruction unless the _aq_ bit is also set.
LR.rl and SC.aq instructions are not guaranteed to provide any stronger ordering than those
with both bits clear, but may result in lower performance.
definedBy:
anyOf: [A, Zalrsc]
definedBy: Zalrsc
base: 64
assembly: xd, xs1
encoding:
Expand Down
3 changes: 1 addition & 2 deletions arch/inst/A/lr.w.yaml → arch/inst/Zalrsc/lr.w.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -47,8 +47,7 @@ description: |
Software should not set the _rl_ bit on an LR instruction unless the _aq_ bit is also set.
LR.rl and SC.aq instructions are not guaranteed to provide any stronger ordering than those
with both bits clear, but may result in lower performance.
definedBy:
anyOf: [A, Zalrsc]
definedBy: Zalrsc
assembly: xd, xs1
encoding:
match: 00010--00000-----010-----0101111
Expand Down
3 changes: 1 addition & 2 deletions arch/inst/A/sc.d.yaml → arch/inst/Zalrsc/sc.d.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -98,8 +98,7 @@ description: |
Software should not set the _rl_ bit on an LR instruction unless the _aq_ bit is also set.
LR.rl and SC.aq instructions are not guaranteed to provide any stronger ordering than those
with both bits clear, but may result in lower performance.
definedBy:
anyOf: [A, Zalrsc]
definedBy: Zalrsc
base: 64
assembly: xd, xs2, xs1
encoding:
Expand Down
3 changes: 1 addition & 2 deletions arch/inst/A/sc.w.yaml → arch/inst/Zalrsc/sc.w.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -104,8 +104,7 @@ description: |
Software should not set the _rl_ bit on an LR instruction unless the _aq_ bit is also set.
LR.rl and SC.aq instructions are not guaranteed to provide any stronger ordering than those
with both bits clear, but may result in lower performance.
definedBy:
anyOf: [A, Zalrsc]
definedBy: Zalrsc
assembly: xd, xs2, xs1
encoding:
match: 00011------------010-----0101111
Expand Down
3 changes: 1 addition & 2 deletions arch/inst/B/add.uw.yaml → arch/inst/Zba/add.uw.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,7 @@ base: 64
description: |
This instruction performs an XLEN-wide addition between rs2 and the
zero-extended least-significant word of rs1.
definedBy:
anyOf: [B, Zba]
definedBy: Zba
assembly: xd, xs1, xs2
encoding:
match: 0000100----------000-----0111011
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,7 @@ description: |
This instruction performs an XLEN-wide addition of two addends. The first addend is rs2.
The second addend is the unsigned value formed by extracting the least-significant word of rs1
and shifting it left by 1 place.
definedBy:
anyOf: [B, Zba]
definedBy: Zba
base: 64
encoding:
match: 0010000----------010-----0111011
Expand Down
3 changes: 1 addition & 2 deletions arch/inst/B/sh1add.yaml → arch/inst/Zba/sh1add.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,7 @@ name: sh1add
long_name: Shift left by 1 and add
description: |
This instruction shifts `rs1` to the left by 1 bit and adds it to `rs2`.
definedBy:
anyOf: [B, Zba]
definedBy: Zba
assembly: xd, xs1, xs2
encoding:
match: 0010000----------010-----0110011
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,7 @@ description: |
This instruction performs an XLEN-wide addition of two addends. The first addend is rs2.
The second addend is the unsigned value formed by extracting the least-significant word of rs1
and shifting it left by 2 places.
definedBy:
anyOf: [B, Zba]
definedBy: Zba
base: 64
assembly: xd, xs1, xs2
encoding:
Expand Down
3 changes: 1 addition & 2 deletions arch/inst/B/sh2add.yaml → arch/inst/Zba/sh2add.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,7 @@ name: sh2add
long_name: Shift left by 2 and add
description: |
This instruction shifts `rs1` to the left by 2 places and adds it to `rs2`.
definedBy:
anyOf: [B, Zba]
definedBy: Zba
assembly: xd, xs1, xs2
encoding:
match: 0010000----------100-----0110011
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,7 @@ description: |
This instruction performs an XLEN-wide addition of two addends. The first addend is rs2.
The second addend is the unsigned value formed by extracting the least-significant word of rs1
and shifting it left by 3 places.
definedBy:
anyOf: [B, Zba]
definedBy: Zba
base: 64
assembly: xd, xs1, xs2
encoding:
Expand Down
3 changes: 1 addition & 2 deletions arch/inst/B/sh3add.yaml → arch/inst/Zba/sh3add.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,7 @@ name: sh3add
long_name: Shift left by 3 and add
description: |
This instruction shifts `rs1` to the left by 3 places and adds it to `rs2`.
definedBy:
anyOf: [B, Zba]
definedBy: Zba
assembly: xd, xs1, xs2
encoding:
match: 0010000----------110-----0110011
Expand Down
Loading