File tree Expand file tree Collapse file tree 10 files changed +31
-33
lines changed Expand file tree Collapse file tree 10 files changed +31
-33
lines changed Original file line number Diff line number Diff line change 1
- if (xlen == 32 ) {
2
- require_extension (EXT_ZCF );
3
- require_fp ;
4
- WRITE_RVC_FRS2S (f32 (MMU .load < uint32_t > (RVC_RS1S + insn .rvc_lw_imm ())));
5
- } else { // c.ld
6
- require_extension (EXT_ZCA );
7
- WRITE_RVC_RS2S (MMU .load < int64_t > (RVC_RS1S + insn .rvc_ld_imm ()));
8
- }
1
+ require_extension (EXT_ZCF );
2
+ require_fp ;
3
+ WRITE_RVC_FRS2S (f32 (MMU .load < uint32_t > (RVC_RS1S + insn .rvc_lw_imm ())));
Original file line number Diff line number Diff line change 1
- if (xlen == 32 ) {
2
- require_extension (EXT_ZCF );
3
- require_fp ;
4
- WRITE_FRD (f32 (MMU .load < uint32_t > (RVC_SP + insn .rvc_lwsp_imm ())));
5
- } else { // c.ldsp
6
- require_extension (EXT_ZCA );
7
- require (insn .rvc_rd () != 0 );
8
- WRITE_RD (MMU .load < int64_t > (RVC_SP + insn .rvc_ldsp_imm ()));
9
- }
1
+ require_extension (EXT_ZCF );
2
+ require_fp ;
3
+ WRITE_FRD (f32 (MMU .load < uint32_t > (RVC_SP + insn .rvc_lwsp_imm ())));
Original file line number Diff line number Diff line change 1
- if (xlen == 32 ) {
2
- require_extension (EXT_ZCF );
3
- require_fp ;
4
- MMU .store < uint32_t > (RVC_RS1S + insn .rvc_lw_imm (), RVC_FRS2S .v [0 ]);
5
- } else { // c.sd
6
- require_extension (EXT_ZCA );
7
- MMU .store < uint64_t > (RVC_RS1S + insn .rvc_ld_imm (), RVC_RS2S );
8
- }
1
+ require_extension (EXT_ZCF );
2
+ require_fp ;
3
+ MMU .store < uint32_t > (RVC_RS1S + insn .rvc_lw_imm (), RVC_FRS2S .v [0 ]) ;
Original file line number Diff line number Diff line change 1
- if (xlen == 32 ) {
2
- require_extension (EXT_ZCF );
3
- require_fp ;
4
- MMU .store < uint32_t > (RVC_SP + insn .rvc_swsp_imm (), RVC_FRS2 .v [0 ]);
5
- } else { // c.sdsp
6
- require_extension (EXT_ZCA );
7
- MMU .store < uint64_t > (RVC_SP + insn .rvc_sdsp_imm (), RVC_RS2 );
8
- }
1
+ require_extension (EXT_ZCF );
2
+ require_fp ;
3
+ MMU .store < uint32_t > (RVC_SP + insn .rvc_swsp_imm (), RVC_FRS2 .v [0 ]) ;
Original file line number Diff line number Diff line change
1
+ require_extension (EXT_ZCA );
2
+ WRITE_RVC_RS2S (MMU .load < int64_t > (RVC_RS1S + insn .rvc_ld_imm ()));
Original file line number Diff line number Diff line change
1
+ require_extension (EXT_ZCA );
2
+ require (insn .rvc_rd () != 0 );
3
+ WRITE_RD (MMU .load < int64_t > (RVC_SP + insn .rvc_ldsp_imm ()));
Original file line number Diff line number Diff line change
1
+ require_extension (EXT_ZCA );
2
+ MMU .store < uint64_t > (RVC_RS1S + insn .rvc_ld_imm (), RVC_RS2S ) ;
Original file line number Diff line number Diff line change
1
+ require_extension (EXT_ZCA );
2
+ MMU .store < uint64_t > (RVC_SP + insn .rvc_sdsp_imm (), RVC_RS2 ) ;
Original file line number Diff line number Diff line change
1
+ // these overlap c.ld[sp]/c.sd[sp]
2
+ DECLARE_OVERLAP_INSN (c_flw , EXT_ZCF )
3
+ DECLARE_OVERLAP_INSN (c_flwsp , EXT_ZCF )
4
+ DECLARE_OVERLAP_INSN (c_fsw , EXT_ZCF )
5
+ DECLARE_OVERLAP_INSN (c_fswsp , EXT_ZCF )
6
+
1
7
// these overlap c.fsdsp
2
8
DECLARE_OVERLAP_INSN (cm_push , EXT_ZCMP )
3
9
DECLARE_OVERLAP_INSN (cm_pop , EXT_ZCMP )
Original file line number Diff line number Diff line change @@ -182,6 +182,8 @@ riscv_insn_ext_c = \
182
182
c_jr \
183
183
c_li \
184
184
c_lui \
185
+ c_ld \
186
+ c_ldsp \
185
187
c_lw \
186
188
c_lwsp \
187
189
c_mv \
@@ -191,6 +193,8 @@ riscv_insn_ext_c = \
191
193
c_srli \
192
194
c_sub \
193
195
c_subw \
196
+ c_sd \
197
+ c_sdsp \
194
198
c_sw \
195
199
c_swsp \
196
200
c_xor \
You can’t perform that action at this time.
0 commit comments