diff options
-rw-r--r-- | pk/fp_asm.S | 4 | ||||
-rw-r--r-- | pk/riscv-opc.h | 54 |
2 files changed, 28 insertions, 30 deletions
diff --git a/pk/fp_asm.S b/pk/fp_asm.S index 81a81bf..67589a8 100644 --- a/pk/fp_asm.S +++ b/pk/fp_asm.S @@ -5,7 +5,7 @@ .ent get_fp_state get_fp_state: - mfcr $v0, ASM_CR(CR_FSR) + mffsr $v0 sf.d $f0 , 0($a0) sf.d $f1 , 8($a0) @@ -81,7 +81,7 @@ put_fp_state: lf.d $f30,240($a0) lf.d $f31,248($a0) - mtcr $a1, ASM_CR(CR_FSR) + mtfsr $a1 ret diff --git a/pk/riscv-opc.h b/pk/riscv-opc.h index c7e187f..a1309ea 100644 --- a/pk/riscv-opc.h +++ b/pk/riscv-opc.h @@ -1,25 +1,27 @@ /* Automatically generated by parse-opcodes */ -#define MATCH_MFF_D 0x184d3 +#define MATCH_MFF_D 0x18ed3 #define MASK_MFF_D 0x7c1ffff -#define MATCH_FSINJN_D 0x60d3 +#define MATCH_FSINJN_D 0x6ed3 #define MASK_FSINJN_D 0x1ffff #define MATCH_REMUW 0x7bb #define MASK_REMUW 0x1ffff #define MATCH_BLTU 0x363 #define MASK_BLTU 0x3ff -#define MATCH_FSINJN_S 0x6053 +#define MATCH_FSINJN_S 0x6e53 #define MASK_FSINJN_S 0x1ffff -#define MATCH_MFF_S 0x18453 +#define MATCH_MFF_S 0x18e53 #define MASK_MFF_S 0x7c1ffff +#define MATCH_MTFSR 0x1de53 +#define MASK_MTFSR 0xf83fffff #define MATCH_SLLIW 0x9b #define MASK_SLLIW 0x3f83ff #define MATCH_FCVT_D_L 0xc0d3 #define MASK_FCVT_D_L 0x3ff1ff -#define MATCH_FCVT_D_W 0xe0d3 +#define MATCH_FCVT_D_W 0xeed3 #define MASK_FCVT_D_W 0x3fffff #define MATCH_ADD 0x33 #define MASK_ADD 0x1ffff -#define MATCH_FCVT_D_S 0x100d3 +#define MATCH_FCVT_D_S 0x10ed3 #define MASK_FCVT_D_S 0x3fffff #define MATCH_LF_D 0x187 #define MASK_LF_D 0x3ff @@ -37,7 +39,7 @@ #define MASK_DI 0x7ffffff #define MATCH_SLTIU 0x193 #define MASK_SLTIU 0x3ff -#define MATCH_MFFL_D 0x194d3 +#define MATCH_MFFL_D 0x19ed3 #define MASK_MFFL_D 0x7c1ffff #define MATCH_FADD_S 0x53 #define MASK_FADD_S 0x1f1ff @@ -55,12 +57,10 @@ #define MASK_AMOMINU_W 0x1ffff #define MATCH_DIVUW 0x6bb #define MASK_DIVUW 0x1ffff -#define MATCH_MFFH_D 0x1a4d3 +#define MATCH_MFFH_D 0x1aed3 #define MASK_MFFH_D 0x7c1ffff #define MATCH_SRLW 0x2bb #define MASK_SRLW 0x1ffff -#define MATCH_MFCR 0x97 -#define MASK_MFCR 0x7c1ffff #define MATCH_DIV 0x633 #define MASK_DIV 0x1ffff #define MATCH_S_D 0x1a3 @@ -77,16 +77,18 @@ #define MASK_SYNC 0xffffffff #define MATCH_S_H 0xa3 #define MASK_S_H 0x3ff -#define MATCH_MTF_S 0x1c453 +#define MATCH_MTF_S 0x1ce53 #define MASK_MTF_S 0x3fffff #define MATCH_S_W 0x123 #define MASK_S_W 0x3ff +#define MATCH_MFFSR 0x1be53 +#define MASK_MFFSR 0x7ffffff #define MATCH_FDIV_S 0x3053 #define MASK_FDIV_S 0x1f1ff #define MATCH_SF_D 0x1a7 #define MASK_SF_D 0x3ff -#define MATCH_MTCR 0x497 -#define MASK_MTCR 0xf801ffff +#define MATCH_MTF_D 0x1ced3 +#define MASK_MTF_D 0x1ffff #define MATCH_FCVT_L_D 0x80d3 #define MASK_FCVT_L_D 0x3ff1ff #define MATCH_FNMSUB_D 0xcb @@ -101,11 +103,11 @@ #define MASK_SUB 0x1ffff #define MATCH_ERET 0x17f #define MASK_ERET 0xffffffff -#define MATCH_FCVTU_D_W 0xf0d3 +#define MATCH_FCVTU_D_W 0xfed3 #define MASK_FCVTU_D_W 0x3fffff #define MATCH_BLT 0x263 #define MASK_BLT 0x3ff -#define MATCH_FC_LT_S 0x16053 +#define MATCH_FC_LT_S 0x16e53 #define MASK_FC_LT_S 0x1ffff #define MATCH_REM 0x733 #define MASK_REM 0x1ffff @@ -117,7 +119,7 @@ #define MASK_L_W 0x3ff #define MATCH_ADDI 0x13 #define MASK_ADDI 0x3ff -#define MATCH_FC_LT_D 0x160d3 +#define MATCH_FC_LT_D 0x16ed3 #define MASK_FC_LT_D 0x1ffff #define MATCH_MULH 0x4b3 #define MASK_MULH 0x1ffff @@ -137,8 +139,6 @@ #define MASK_ADDIW 0x3ff #define MATCH_AMOAND_W 0x943 #define MASK_AMOAND_W 0x1ffff -#define MATCH_MTFLH_D 0x1c6d3 -#define MASK_MTFLH_D 0x1ffff #define MATCH_SRA 0x102b3 #define MASK_SRA 0x1ffff #define MATCH_L_BU 0x203 @@ -147,7 +147,7 @@ #define MASK_SRAIW 0x3f83ff #define MATCH_SRL 0x2b3 #define MASK_SRL 0x1ffff -#define MATCH_FC_EQ_D 0x150d3 +#define MATCH_FC_EQ_D 0x15ed3 #define MASK_FC_EQ_D 0x1ffff #define MATCH_OR 0x333 #define MASK_OR 0x1ffff @@ -175,7 +175,7 @@ #define MASK_AMOMIN_D 0x1ffff #define MATCH_EI 0x7f #define MASK_EI 0x7ffffff -#define MATCH_FSMUL_S 0x7053 +#define MATCH_FSMUL_S 0x7e53 #define MASK_FSMUL_S 0x1ffff #define MATCH_ANDI 0x393 #define MASK_ANDI 0x3ff @@ -185,13 +185,13 @@ #define MASK_JAL 0x7f #define MATCH_MULW 0x43b #define MASK_MULW 0x1ffff -#define MATCH_FSMUL_D 0x70d3 +#define MATCH_FSMUL_D 0x7ed3 #define MASK_FSMUL_D 0x1ffff #define MATCH_FNMADD_D 0xcf #define MASK_FNMADD_D 0x1ff #define MATCH_AMOADD_D 0x1c3 #define MASK_AMOADD_D 0x1ffff -#define MATCH_FSINJ_D 0x50d3 +#define MATCH_FSINJ_D 0x5ed3 #define MASK_FSINJ_D 0x1ffff #define MATCH_AMOMAX_W 0x1543 #define MASK_AMOMAX_W 0x1ffff @@ -201,7 +201,7 @@ #define MASK_MULHSU 0x1ffff #define MATCH_AMOADD_W 0x143 #define MASK_AMOADD_W 0x1ffff -#define MATCH_FSINJ_S 0x5053 +#define MATCH_FSINJ_S 0x5e53 #define MASK_FSINJ_S 0x1ffff #define MATCH_AMOMAX_D 0x15c3 #define MASK_AMOMAX_D 0x1ffff @@ -235,15 +235,13 @@ #define MASK_FSUB_S 0x1f1ff #define MATCH_AND 0x3b3 #define MASK_AND 0x1ffff -#define MATCH_FC_LE_S 0x17053 +#define MATCH_FC_LE_S 0x17e53 #define MASK_FC_LE_S 0x1ffff #define MATCH_SYSCALL 0x197 #define MASK_SYSCALL 0xffc003ff #define MATCH_FCVTU_S_W 0xf053 #define MASK_FCVTU_S_W 0x3ff1ff -#define MATCH_MTF_D 0x1c4d3 -#define MASK_MTF_D 0x3fffff -#define MATCH_FC_LE_D 0x170d3 +#define MATCH_FC_LE_D 0x17ed3 #define MASK_FC_LE_D 0x1ffff #define MATCH_FCVTU_S_L 0xd053 #define MASK_FCVTU_S_L 0x3ff1ff @@ -277,7 +275,7 @@ #define MASK_AMOSWAP_D 0x1ffff #define MATCH_FSQRT_D 0x40d3 #define MASK_FSQRT_D 0x3ff1ff -#define MATCH_FC_EQ_S 0x15053 +#define MATCH_FC_EQ_S 0x15e53 #define MASK_FC_EQ_S 0x1ffff #define MATCH_FDIV_D 0x30d3 #define MASK_FDIV_D 0x1f1ff |