A variation of the S type where the immediate is a 13-bit branch offset. The branch offset's least significant bit is not set as it must always be aligned, thereby allowing for larger offsets.
A variation of the I type where the immediate encodes a 12-bit unsigned integer index.
The I instruction type, encoding a destination and source register as well as an immediate value. The immediate value is a sign extended 12-bit integer.
A variation of the U instruction type where the immediate encodes a 21-bit jump offset. The least significant bit of the offset is zeroed as it must be aligned, thereby allowing a greater offset range.
The R instruction type, encoding a destination and 2 source registers.
The S instruction type, encoding 2 source registers and a 12-bit sign extended immediate value.
The U instruction variant, encoding a destination and a 32-bit immediate value with the lower 12 bits zeroed.
Decode an instruction encoding variant into its significant parts