Zca Extension

Versions

Version 1.0.0

State

ratified

Ratification date

2023-04

Synopsis

The Zca extension is added as way to refer to instructions in the C extension that do not include the floating-point loads and stores.

Therefore it excludes all 16-bit floating point loads and stores: c.flw, c.flwsp, c.fsw, c.fswsp, c.fld, c.fldsp, c.fsd, c.fsdsp.

The 'C' extension only includes F/D instructions when D and F are also specified.

Instructions

The following instructions are affected by this extension:

c.add

Add

c.addi

Add a sign-extended non-zero immediate

c.addi16sp

Add a sign-extended non-zero immediate

c.addi4spn

Add a zero-extended non-zero immediate, scaled by 4, to the stack pointer

c.and

And

c.andi

And immediate

c.beqz

Branch if Equal Zero

c.bnez

Branch if NOT Equal Zero

c.ebreak

Breakpoint exception

c.j

Jump

c.jalr

Jump and Link Register

c.jr

Jump Register

c.li

Load the sign-extended 6-bit immediate

c.lui

Load Upper Immediate

c.lw

Load word

c.lwsp

Load word from stack pointer

c.mv

Move Register

c.nop

Non-operation

c.or

Or

c.slli

Shift left logical immediate

c.srai

Shift right arithmetical immediate

c.srli

Shift right logical immediate

c.sub

Subtract

c.sw

Store word

c.swsp

Store word to stack

c.xor

Exclusive Or