target/riscv: Fix wrong expanding for c.fswsp
authorKito Cheng <kito.cheng@gmail.com>
Tue, 26 Mar 2019 09:27:17 +0000 (17:27 +0800)
committerPalmer Dabbelt <palmer@sifive.com>
Tue, 26 Mar 2019 10:17:30 +0000 (03:17 -0700)
base register is no rs1 not rs2 for fsw.

Signed-off-by: Kito Cheng <kito.cheng@gmail.com>
Reviewed-by: Palmer Dabbelt <palmer@sifive.com>
Signed-off-by: Palmer Dabbelt <palmer@sifive.com>
target/riscv/insn_trans/trans_rvc.inc.c

index 5819f53f900eef7f41450f5e27f0c90feb92b38f..ebcd977b2f942e07ddaafe2b9e6f4dd3c04e6677 100644 (file)
@@ -337,7 +337,7 @@ static bool trans_c_fswsp_sdsp(DisasContext *ctx, arg_c_fswsp_sdsp *a)
 {
 #ifdef TARGET_RISCV32
     /* C.FSWSP */
-    arg_fsw a_fsw = { .rs1 = a->rs2, .rs2 = 2, .imm = a->uimm_fswsp };
+    arg_fsw a_fsw = { .rs1 = 2, .rs2 = a->rs2, .imm = a->uimm_fswsp };
     return trans_fsw(ctx, &a_fsw);
 #else
     /* C.SDSP */