非主流的代码优化方案,请指导

我使用CH32V303,并且需要使用浮点运算。所以我编译时使用 -march=rv32imafc -mabi=ilp32f 来生成代码。

然而我发现这会在中断内生成保存/恢复浮点寄存器的代码,不论是时间还是空间,我都不愉快。


一开始,我重写了高频率发生的中断,抛开外设库,直接操作寄存器,以避免因为调用函数而产生不必要的保存现场的代码。

但这样其他中断依然会有大量不必要的保存/恢复浮点寄存器的代码。


所以,我后来的做法是,代码默认使用 -march=rv32imac -mabi=ilp32 来编译,但涉及到浮点运算的那部分C程序使用了 -march=rv32imafc -mabi=ilp32。毕竟,全局放弃使用硬件浮点,对我而言还是不可接受的。


那么,这种非主流的优化会有什么问题么?

您好,应该是没问题的


只有登录才能回复,可以选择微信账号登录