Skip to content

Commit

Permalink
Merge pull request #19 from ved-rivos/main
Browse files Browse the repository at this point in the history
list insts. provided by zabha
  • Loading branch information
aswaterman authored Oct 16, 2023
2 parents bbf5df5 + bc7f8b3 commit 810f0ee
Showing 1 changed file with 7 additions and 3 deletions.
10 changes: 7 additions & 3 deletions zabha.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,10 @@

Zabha extends A and Zacas cite:[zacas] standard extensions by adding _byte_
(`width=0`) and _halfword_ (`width=1`) support in `width` field for atomic
memory operation instructions. Byte and halfword AMOs always sign-extend the
value placed in `rd`, and ignore the `XLEN-1:(2^(width + 3))` bits of the
original value in `rs2`.
memory operation instructions.

Zabha provides `AMO[ADD|AND|OR|XOR|SWAP|MIN[U]|MAX[U]].[B|H]`. If Zacas is also
implemented, Zabha further provides `AMOCAS.[B|H]`.

[wavedrom, , ]
....
Expand All @@ -21,6 +22,9 @@ original value in `rs2`.
], config:{lanes: 1, hspace:1024}}
....

Byte and halfword AMOs always sign-extend the value placed in `rd`, and
ignore the `XLEN-1:(2^(width + 3))` bits of the original value in `rs2`.

Similar to the AMOs specified in the A extension, the Zabha extension mandates
that the address contained in the `rs1` register must be naturally aligned to
the size of the operand. The same exception options as specified in the A
Expand Down

0 comments on commit 810f0ee

Please sign in to comment.