FlatImp currently has an SOp variant in its statement datatype that could be used to compile to RISC-V immediate instructions in certain cases. Optimization to do this has been written in UseImmediate.v but proof of correctness not yet integrated into main pipeline. Example has been made in end2end/src/end2end/End2EndLightbulb.v in module PrintProgram' . Difference between RISC-V assembly produced without UseImmediate and with UseImmediate at https://www.diffchecker.com/KarK1dqd/.
FlatImp currently has an SOp variant in its statement datatype that could be used to compile to RISC-V immediate instructions in certain cases. Optimization to do this has been written in UseImmediate.v but proof of correctness not yet integrated into main pipeline. Example has been made in end2end/src/end2end/End2EndLightbulb.v in module PrintProgram' . Difference between RISC-V assembly produced without UseImmediate and with UseImmediate at https://www.diffchecker.com/KarK1dqd/.