RFR: aarch32: softfp patch for template interpreter

yangyongyong yangyongyong at huawei.com
Mon Oct 17 12:53:05 UTC 2016


Hi, all,



Attached is a softfp patch for template interpreter. Two pairs of macros are defined in globalDefinitions_aarch32.hpp to isolate softfp code: HARD_FLOAT_CC/ SOFT_FLOAT_CC and HARD_FLOAT/ SOFT_FLOAT.



HARD_FLOAT_CC/SOFT_FLOAT_CC defines C calling convention. HARD_FLOAT are used to indicate that a platform can take advantage of hardfp instructions regardless of its calling convention, while SOFT_FLOAT means hardfp instructions are not supported or are disallowed to use.



Only three combinations are possible configurations for ARM platforms:

1. HARD_FLOAT/ HARD_FLOAT_CC are defined when __ARM_PCS_VFP is defined.

2. HARD_FLOAT/ SOFT_FLOAT_CC are defined when gcc runs with "-mfloat-abi=softfp" option.

3. SOFT_FLOAT/ SOFT_FLOAT_CC when gcc runs with "-mfloat-abi=soft" option.



The code of current repository is configuration 1, the attached patch is configuration 3. Both configurations are tested on a AArch64 platform (32 cores) with their respective runtime. Configuration 3 is also tested on a armv7 softfp platform with 4 cores.



We are currently working out a softfp patch for C1, it will take us a few days until it is prepared and tested.



Best regards.


More information about the aarch32-port-dev mailing list