C.SUBW

Compressed Subtract Word

C.SUBW rd', rs2'

Subtracts two registers (32-bit result sign-extended, RV64).

Details

Subtracts rs2′ from rd′, truncates to 32 bits, sign-extends to 64 bits (RV64).

Pseudocode Operation

R[rd'] = sext((R[rd'] - R[rs2'])[31:0]);

Example

C.SUBW rd', rs2'

Encoding

Binary Layout
?
31:16
100111
15:10
rd_rs1_p
9:7
00
6:5
rs2_p
4:2
01
1:0
 
Format CA
Opcode 0x00009C01
Extension C

Operands

  • rd'
    Dest/Src1
  • rs2'
    Source register 2 (3-bit compressed)