[PATCH] Support for ARM Run-Time ABI (FP and Integer helper functions)

As noted in the earlier thread on this, I'm pretty sure that we need
to only apply the AAPCS calling convention to exactly the set of
libcalls that you're adding here. Other libcalls outside this set
should use the "native" calling convention such as AAPCS-VFP.

deep

Hi Deep,

Loop for setting all libcall calling conventions to ARM_AAPCS was
in original version, but I agree that it could have unexpected
side effects.
Attached patch sets calling convention only for added libcalls.

Evzen

arm-rtabi.patch (9.55 KB)

I wrote that loop. :slight_smile:

So now the differences between this patch and the one I had been sitting on are:

* We have opposite condition codes in our FP comparisons.
* This patch has integer division, which seems like a good thing, but
wasn't needed for my A9 target.

Are you sure about the comparisons?

deep

* We have opposite condition codes in our FP comparisons.

No, Evzen is correct. The condcode is used to test the libcall result
against zero and EABI libcalls return 1 in case of "true" result of
the comparison,
thus we have to invert the condcode agains the default value.

I guess I never saw a float cmp libcall in my testing, which makes
sense for the platforms I was testing on.

LGTM then.

deep

I guess I never saw a float cmp libcall in my testing, which makes
sense for the platforms I was testing on.

LGTM then.

I will apply the patch