Hi Thomas,

On 23 June 2017 at 17:48, Thomas Preudhomme
<thomas.preudho...@foss.arm.com> wrote:
> Hi Kyrill,
>
>
> On 10/04/17 15:01, Kyrill Tkachov wrote:
>>
>> Hi Prakhar,
>> Sorry for the delay,
>>
>> On 22/03/17 10:46, Prakhar Bahuguna wrote:
>>>
>>> The GCC documentation in section 6.60.8 ARM Floating Point Status and
>>> Control
>>> Intrinsics states that the FPSCR register can be read and written to
>>> using the
>>> intrinsics __builtin_arm_get_fpscr and __builtin_arm_set_fpscr. However,
>>> these
>>> are misnamed within GCC itself and these intrinsic names are not
>>> recognised.
>>> This patch corrects the intrinsic names to match the documentation, and
>>> adds
>>> tests to verify these intrinsics generate the correct instructions.
>>>
>>> Testing done: Ran regression tests on arm-none-eabi for Cortex-M4.
>>>
>>> 2017-03-09  Prakhar Bahuguna  <prakhar.bahug...@arm.com>
>>>
>>> gcc/ChangeLog:
>>>
>>>     * gcc/config/arm/arm-builtins.c (arm_init_builtins): Rename
>>>       __builtin_arm_ldfscr to __builtin_arm_get_fpscr, and rename
>>>       __builtin_arm_stfscr to __builtin_arm_set_fpscr.
>>>     * gcc/testsuite/gcc.target/arm/fpscr.c: New file.
>>>
>>> Okay for stage 1?
>>
>>
>> I see that the mistake was in not addressing one of the review comments
>> in:
>> https://gcc.gnu.org/ml/gcc-patches/2014-04/msg01832.html
>> properly in the patch that added these functions :(
>>
>> This is ok for stage 1 if a bootstrap and test on arm-none-linux-gnueabihf
>> works
>> fine
>> I don't think we want to maintain the __builtin_arm_[ld,st]fscr names for
>> backwards compatibility
>> as they were not documented and are __builtin_arm* functions that we don't
>> guarantee to maintain.
>
>
> How about a backport to GCC 5, 6 & 7? The patch applied cleanly on each of
> these versions and the testsuite didn't show any regression for any of the
> backport when run for Cortex-M7.
>

Three's a problem with GCC-5:
    gcc.target/arm/fpscr.c: unknown effective target keyword
`arm_fp_ok' for " dg-require-effective-target 4 arm_fp_ok "

Indeed arm_fp_ok effective-target does not exist in the gcc-5 branch.

Christophe

> Patches attached for reference.
>
> ChangeLog entries:
>
> *** gcc/ChangeLog ***
>
> 2017-06-20  Thomas Preud'homme  <thomas.preudho...@arm.com>
>
>     Backport from mainline
>     2017-05-04  Prakhar Bahuguna  <prakhar.bahug...@arm.com>
>
>     * gcc/config/arm/arm-builtins.c (arm_init_builtins): Rename
>     __builtin_arm_ldfscr to __builtin_arm_get_fpscr, and rename
>     __builtin_arm_stfscr to __builtin_arm_set_fpscr.
>
>
> *** gcc/testsuite/ChangeLog ***
>
> 2017-06-20  Thomas Preud'homme  <thomas.preudho...@arm.com>
>
>     Backport from mainline
>     2017-05-04  Prakhar Bahuguna  <prakhar.bahug...@arm.com>
>
>     gcc/testsuite/
>     * gcc.target/arm/fpscr.c: New file.
>
>
> Best regards,
>
> Thomas

Reply via email to