Hi Thomas,

On 23/06/17 16:48, Thomas Preudhomme 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.

Yes, thanks.
These were always documented "correctly". The patch makes sure the 
implementation matches that documentation.

Kyrill


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