You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The riscv-dv will generate kIllegalCompressedOpcode instruction sequence in the riscv_illegal_instr_test when the target supports C-extension.
kIllegalCompressedOpcode have to generate undefined/invalid instruction code on RV32C/RV64C.
However, the problem is that valid instruction c.fswsp may included in kIllegalCompressedOpcode when target=rv32imafdc.
c.fswsp is valid instruction in RV32C.
Executing this instruction is not expected in the program context. So, storing data to the stack memory may cause a corruption of the program flow and may cause unexpected behavior.
It seems other compressed floating point instructions also should be excluded form kIllegalCompressedOpcode when C+F/D-extention is enabled.
Overview
The riscv-dv will generate
kIllegalCompressedOpcode
instruction sequence in theriscv_illegal_instr_test
when the target supports C-extension.kIllegalCompressedOpcode
have to generate undefined/invalid instruction code on RV32C/RV64C.However, the problem is that valid instruction
c.fswsp
may included inkIllegalCompressedOpcode
when target=rv32imafdc.c.fswsp
is valid instruction in RV32C.Executing this instruction is not expected in the program context. So, storing data to the stack memory may cause a corruption of the program flow and may cause unexpected behavior.
It seems other compressed floating point instructions also should be excluded form
kIllegalCompressedOpcode
when C+F/D-extention is enabled.How to reproduce
Investigation
legal_c10_opcode
as following.3'b111
is included only when XLEN=64.C.FSWSP
.Version
The text was updated successfully, but these errors were encountered: