Open llvmbot opened 11 years ago
I think that the fix to this problem is 10 minutes work for someone that knows this code.
I would have to study it for a while and I have a decent workaround now so I can't spare the time. I have bigger fish to fry.
I don't know how to just change the type is this one place.
If you just correct the types, what happens? The soft-float code is old and hasn't seen a lot of love, probably it's just a mistake rather than anything subtle.
I have a reasonable workaround for this problem, so at least for me, it's not high priority.
Extended Description
hat happens here is that the code that is doing the "softening", generates a libcall
On closer inspection, llvm is doing half of this correctly.
The signature for the soft float function for extending a float to double is of the form:
i64 xxx_extendsfdf2(float);
But it should be
i64 xxx_extendsfdf2(i32)
This particular paradigm is duplicated many times in the the float type lowering.
I'm not sure exactly how to change this and what effect if any that it might have.
thoughts?
In my case for mips16, it's important that I know the proper function signature, otherwise I'll generate an unnecessary helper function call.
tia.
Reed
On 01/20/2013 06:28 AM, Reed Kotler wrote: