Zabha Extension

Versions

1.0.0
State

ratified

Ratification date

== Synopsis

Adds byte and halfword atomic memory operations to the RISC-V Unprivileged ISA.

Instructions

The following instructions are affected by this extension:

amoadd.b.aq

Atomic fetch-and-add byte (acquire)

amoadd.b.aqrl

Atomic fetch-and-add byte (acquire-release)

amoadd.b.rl

Atomic fetch-and-add byte (release)

amoadd.b

Atomic fetch-and-add byte

amoadd.h.aq

Atomic fetch-and-add halfword (acquire)

amoadd.h.aqrl

Atomic fetch-and-add halfword (acquire-release)

amoadd.h.rl

Atomic fetch-and-add halfword (release)

amoadd.h

Atomic fetch-and-add halfword

amoand.b.aq

Atomic fetch-and-and byte (acquire)

amoand.b.aqrl

Atomic fetch-and-and byte (acquire-release)

amoand.b.rl

Atomic fetch-and-and byte (release)

amoand.b

Atomic fetch-and-and byte

amoand.h.aq

Atomic fetch-and-and halfword (acquire)

amoand.h.aqrl

Atomic fetch-and-and halfword (acquire-release)

amoand.h.rl

Atomic fetch-and-and halfword (release)

amoand.h

Atomic fetch-and-and halfword

amocas.b.aq

Atomic compare-and-swap byte (acquire)

amocas.b.aqrl

Atomic compare-and-swap byte (acquire-release)

amocas.b.rl

Atomic compare-and-swap byte (release)

amocas.b

Atomic compare-and-swap byte

amocas.h.aq

Atomic compare-and-swap halfword (acquire)

amocas.h.aqrl

Atomic compare-and-swap halfword (acquire-release)

amocas.h.rl

Atomic compare-and-swap halfword (release)

amocas.h

Atomic compare-and-swap halfword

amomax.b.aq

Atomic MAX byte (acquire)

amomax.b.aqrl

Atomic MAX byte (acquire-release)

amomax.b.rl

Atomic MAX byte (release)

amomax.b

Atomic MAX byte

amomax.h.aq

Atomic MAX halfword (acquire)

amomax.h.aqrl

Atomic MAX halfword (acquire-release)

amomax.h.rl

Atomic MAX halfword (release)

amomax.h

Atomic MAX halfword

amomaxu.b.aq

Atomic MAX unsigned byte (acquire)

amomaxu.b.aqrl

Atomic MAX unsigned byte (acquire-release)

amomaxu.b.rl

Atomic MAX unsigned byte (release)

amomaxu.b

Atomic MAX unsigned byte

amomaxu.h.aq

Atomic MAX unsigned halfword (acquire)

amomaxu.h.aqrl

Atomic MAX unsigned halfword (acquire-release)

amomaxu.h.rl

Atomic MAX unsigned halfword (release)

amomaxu.h

Atomic MAX unsigned halfword

amomin.b.aq

Atomic MIN byte (acquire)

amomin.b.aqrl

Atomic MIN byte (acquire-release)

amomin.b.rl

Atomic MIN byte (release)

amomin.b

Atomic MIN byte

amomin.h.aq

Atomic MIN halfword (acquire)

amomin.h.aqrl

Atomic MIN halfword (acquire-release)

amomin.h.rl

Atomic MIN halfword (release)

amomin.h

Atomic MIN halfword

amominu.b.aq

Atomic MIN unsigned byte (acquire)

amominu.b.aqrl

Atomic MIN unsigned byte (acquire-release)

amominu.b.rl

Atomic MIN unsigned byte (release)

amominu.b

Atomic MIN unsigned byte

amominu.h.aq

Atomic MIN unsigned halfword (acquire)

amominu.h.aqrl

Atomic MIN unsigned halfword (acquire-release)

amominu.h.rl

Atomic MIN unsigned halfword (release)

amominu.h

Atomic MIN unsigned halfword

amoor.b.aq

Atomic fetch-and-or byte (acquire)

amoor.b.aqrl

Atomic fetch-and-or byte (acquire-release)

amoor.b.rl

Atomic fetch-and-or byte (release)

amoor.b

Atomic fetch-and-or byte

amoor.h.aq

Atomic fetch-and-or halfword (acquire)

amoor.h.aqrl

Atomic fetch-and-or halfword (acquire-release)

amoor.h.rl

Atomic fetch-and-or halfword (release)

amoor.h

Atomic fetch-and-or halfword

amoswap.b.aq

Atomic SWAP byte (acquire)

amoswap.b.aqrl

Atomic SWAP byte (acquire-release)

amoswap.b.rl

Atomic SWAP byte (release)

amoswap.b

Atomic SWAP byte

amoswap.h.aq

Atomic SWAP halfword (acquire)

amoswap.h.aqrl

Atomic SWAP halfword (acquire-release)

amoswap.h.rl

Atomic SWAP halfword (release)

amoswap.h

Atomic SWAP halfword

amoxor.b.aq

Atomic fetch-and-xor byte (acquire)

amoxor.b.aqrl

Atomic fetch-and-xor byte (acquire-release)

amoxor.b.rl

Atomic fetch-and-xor byte (release)

amoxor.b

Atomic fetch-and-xor byte

amoxor.h.aq

Atomic fetch-and-xor halfword (acquire)

amoxor.h.aqrl

Atomic fetch-and-xor halfword (acquire-release)

amoxor.h.rl

Atomic fetch-and-xor halfword (release)

amoxor.h

Atomic fetch-and-xor halfword