int function (float X, float Y, float Z, int result)
{
result = (X*Y)+ Z;
}
我尝试使用https://godbolt.org/,但它不支持rv64i
int function (float X, float Y, float Z, int result)
{
result = (X*Y)+ Z;
}
我尝试使用https://godbolt.org/,但它不支持rv64i
1条答案
按热度按时间f0brbegy1#
您的代码已损坏,但假设它是这样编写的:
同样,假设你有一个浮点单元,也就是说你使用的是
rv64if
或rv64id
设备,那么下面的汇编代码就可以完成这项工作:不幸的是,您使用的
rv64i
设备没有浮点单元。一个普通的C编译器会提供许多子例程来执行各种浮点操作,检查它们名称的最好方法是编译程序。如果你打算自己写子程序,你就是在做一项猛犸的任务,因为一个有经验的汇编程序员可能需要几周,如果不是几个月的话。