This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH, GCC/testsuite/ARM] Consolidate sources for cmse tests


Hi Thomas,

On 10/11/17 11:57, Thomas Preudhomme wrote:
Sorry for the garbled email, I guess I did a middle click paste which sometimes
paste things several times. Let me try again:

For the most part, testcases under gcc.target/arm/cmse/baseline and
gcc.target/arm/cmse/mainline are duplicate copies with only different
dejagnu directives. Although there is no requirement for them to be
similar, having them both identical allow to compare the code generated
and make it easier in case of change in code generation to both
architecture to update the testcases (if one needs updating so does the
other).

Similarly all the tests in gcc.target/arm/cmse/mainline/<floatabi> have
the same source but are duplicate copies.

This patch moves all the code in the tests to a parent directory:
gcc.target/arm/cmse for tests shared by Armv8-M Baseline and Mainline
and gcc.target/arm/cmse/mainline for tests *only* shared by the various
float ABI of Armv8-M Mainline. C includes are then used where the code
used to sit.

Note that the cmse-13.c test used to differ slightly between
architectures and float ABI tested in the first floating-point constant
passed to bar: sometimes 1.0 and sometimes 3.0. This patch settles on
3.0 to not confuse with the 1.0 constant used to clear VFP registers in
some of the configurations.

ChangeLog entry is as follows:

*** gcc/testsuite/ChangeLog ***

2017-11-03  Thomas Preud'homme <thomas.preudhomme@arm.com>

        * gcc.target/arm/cmse/bitfield-4.x: New file.
* gcc.target/arm/cmse/baseline/bitfield-4.c: Remove code and include
        above file.
        * gcc.target/arm/cmse/mainline/bitfield-4.c: Likewise.
        * gcc.target/arm/cmse/bitfield-5.x: New file.
* gcc.target/arm/cmse/baseline/bitfield-5.c: Remove code and include
        above file.
        * gcc.target/arm/cmse/mainline/bitfield-5.c: Likewise.
        * gcc.target/arm/cmse/bitfield-6.x: New file.
* gcc.target/arm/cmse/baseline/bitfield-6.c: Remove code and include
        above file.
        * gcc.target/arm/cmse/mainline/bitfield-6.c: Likewise.
        * gcc.target/arm/cmse/bitfield-7.x: New file.
* gcc.target/arm/cmse/baseline/bitfield-7.c: Remove code and include
        above file.
        * gcc.target/arm/cmse/mainline/bitfield-7.c: Likewise.
        * gcc.target/arm/cmse/bitfield-8.x: New file.
* gcc.target/arm/cmse/baseline/bitfield-8.c: Remove code and include
        above file.
        * gcc.target/arm/cmse/mainline/bitfield-8.c: Likewise.
        * gcc.target/arm/cmse/bitfield-9.x: New file.
* gcc.target/arm/cmse/baseline/bitfield-9.c: Remove code and include
        above file.
        * gcc.target/arm/cmse/mainline/bitfield-9.c: Likewise.
        * gcc.target/arm/cmse/bitfield-and-union.x: New file.
* gcc.target/arm/cmse/baseline/bitfield-and-union-1.c: Rename into ... * gcc.target/arm/cmse/baseline/bitfield-and-union.c: This. Remove code
        and include above bitfield-and-union.x file.
* gcc.target/arm/cmse/mainline/bitfield-and-union-1.c: Rename into ... * gcc.target/arm/cmse/mainline/bitfield-and-union.c: this. Remove code
        and include above bitfield-and-union.x file.
        * gcc.target/arm/cmse/cmse-13.x: New file.
* gcc.target/arm/cmse/baseline/cmse-13.c: Remove code and include above
        file.
        * gcc.target/arm/cmse/mainline/hard-sp/cmse-13.c: Likewise.
        * gcc.target/arm/cmse/mainline/hard/cmse-13.c: Likewise.
        * gcc.target/arm/cmse/mainline/soft/cmse-13.c: Likewise.
        * gcc.target/arm/cmse/mainline/softfp/cmse-13.c: Likewise.
        * gcc.target/arm/cmse/cmse-5.x: New file.
        * gcc.target/arm/cmse/mainline/hard-sp/cmse-5.c: Remove code and
        include above file.
        * gcc.target/arm/cmse/mainline/hard/cmse-5.c: Likewise.
        * gcc.target/arm/cmse/mainline/soft/cmse-5.c: Likewise.
        * gcc.target/arm/cmse/mainline/softfp-sp/cmse-5.c: Likewise.
        * gcc.target/arm/cmse/mainline/softfp/cmse-5.c: Likewise.
        * gcc.target/arm/cmse/cmse-7.x: New file.
        * gcc.target/arm/cmse/mainline/hard-sp/cmse-7.c: Remove code and
        include above file.
        * gcc.target/arm/cmse/mainline/hard/cmse-7.c: Likewise.
        * gcc.target/arm/cmse/mainline/soft/cmse-7.c: Likewise.
        * gcc.target/arm/cmse/mainline/softfp-sp/cmse-7.c: Likewise.
        * gcc.target/arm/cmse/mainline/softfp/cmse-7.c: Likewise.
        * gcc.target/arm/cmse/cmse-8.x: New file.
        * gcc.target/arm/cmse/mainline/hard-sp/cmse-8.c: Remove code and
        include above file.
        * gcc.target/arm/cmse/mainline/hard/cmse-8.c: Likewise.
        * gcc.target/arm/cmse/mainline/soft/cmse-8.c: Likewise.
        * gcc.target/arm/cmse/mainline/softfp-sp/cmse-8.c: Likewise.
        * gcc.target/arm/cmse/mainline/softfp/cmse-8.c: Likewise.
        * gcc.target/arm/cmse/union-1.x: New file.
* gcc.target/arm/cmse/baseline/union-1.c: Remove code and include above
        file.
        * gcc.target/arm/cmse/mainline/union-1.c: Likewise.
        * gcc.target/arm/cmse/union-2.x: New file.
* gcc.target/arm/cmse/baseline/union-2.c: Remove code and include above
        file.
        * gcc.target/arm/cmse/mainline/union-2.c: Likewise.

Testing: Running cmse.exp for both Armv8-M Baseline and Mainline
shows no regression.

Is this ok for trunk?


This is a large diff but it's a fairly simple case of moving things around.
This is ok for trunk.
Thanks,
Kyrill

Best regards,

Thomas

On 10/11/17 11:19, Thomas Preudhomme wrote:
> For the most part, testcases under gcc.target/arm/cmse/baseline and
> gcc.target/arm/cmse/mainline are duplicate copies with only different
> dejagnu directives. Although there is no requirement for them to be
> similar, having them both identical allow to compare the code generated
> and make it easier in case of change in code generation to both
> architecture to update the testcases (if one needs updating so does the
> other).
>
> Similarly all the tests in gcc.target/arm/cmse/mainline/<floatabi> have
> the same source but are duplicate copies.
>
> This patch moves all the code in the tests to a parent directory:
> gcc.target/arm/cmse for tests shared by Armv8-M Baseline and Mainline
> and gcc.target/arm/cmse/mainline for tests *only* shared by the various
> float ABI of Armv8-M Mainline. C includes are then used where the code
> used to sit.
>
> Note that the cmse-13.c test used to differ slightly between
> architectures and float ABI tested in the first floating-point constant
> passed to bar: sometimes 1.0 and sometimes 3.0. This patch settles on
> 3.0 to not confuse with the 1.0 constant used to clear VFP registers in
> some of the configurations.
>
> ChangeLog entry is as follows:
>
> *** gcc/testsuite/ChangeLog ***
>
> 2017-11-03  Thomas Preud'homme <thomas.preudhomme@arm.com>
>
>      * gcc.target/arm/cmse/bitfield-4.x: New file.
> * gcc.target/arm/cmse/baseline/bitfield-4.c: Remove code and include
>      above file.
>      * gcc.target/arm/cmse/mainline/bitfield-4.c: Likewise.
>      * gcc.target/arm/cmse/bitfield-5.x: New file.
> * gcc.target/arm/cmse/baseline/bitfield-5.c: Remove code and include
>      above file.
>      * gcc.target/arm/cmse/mainline/bitfield-5.c: Likewise.
>      * gcc.target/arm/cmse/bitfield-6.x: New file.
> * gcc.target/arm/cmse/baseline/bitfield-6.c: Remove code and include
>      above file.
>      * gcc.target/arm/cmse/mainline/bitfield-6.c: Likewise.
>      * gcc.target/arm/cmse/bitfield-7.x: New file.
> * gcc.target/arm/cmse/baseline/bitfield-7.c: Remove code and include
>      above file.
>      * gcc.target/arm/cmse/mainline/bitfield-7.c: Likewise.
>      * gcc.target/arm/cmse/bitfield-8.x: New file.
> * gcc.target/arm/cmse/baseline/bitfield-8.c: Remove code and include
>      above file.
>      * gcc.target/arm/cmse/mainline/bitfield-8.c: Likewise.
>      * gcc.target/arm/cmse/bitfield-9.x: New file.
> * gcc.target/arm/cmse/baseline/bitfield-9.c: Remove code and include
>      above file.
>      * gcc.target/arm/cmse/mainline/bitfield-9.c: Likewise.
>      * gcc.target/arm/cmse/bitfield-and-union.x: New file.
> * gcc.target/arm/cmse/baseline/bitfield-and-union-1.c: Rename into ... > * gcc.target/arm/cmse/baseline/bitfield-and-union.c: This. Remove code
>      and include above bitfield-and-union.x file.
> * gcc.target/arm/cmse/mainline/bitfield-and-union-1.c: Rename into ... > * gcc.target/arm/cmse/mainline/bitfield-and-union.c: this. Remove code
>      and include above bitfield-and-union.x file.
>      * gcc.target/arm/cmse/cmse-13.x: New file.
> * gcc.target/arm/cmse/baseline/cmse-13.c: Remove code and include above
>      file.
>      * gcc.target/arm/cmse/mainline/hard-sp/cmse-13.c: Likewise.
>      * gcc.target/arm/cmse/mainline/hard/cmse-13.c: Likewise.
>      * gcc.target/arm/cmse/mainline/soft/cmse-13.c: Likewise.
>      * gcc.target/arm/cmse/mainline/softfp/cmse-13.c: Likewise.
>      * gcc.target/arm/cmse/cmse-5.x: New file.
>      * gcc.target/arm/cmse/mainline/hard-sp/cmse-5.c: Remove code and
>      include above file.
> * gcc.target/arm/cmse/mainline/harFor the most part, testcases under
> gcc.target/arm/cmse/baseline and
> gcc.target/arm/cmse/mainline are duplicate copies with only different
> dejagnu directives. Although there is no requirement for them to be
> similar, having them both identical allow to compare the code generated
> and make it easier in case of change in code generation to both
> architecture to update the testcases (if one needs updating so does the
> other).
>
> Similarly all the tests in gcc.target/arm/cmse/mainline/<floatabi> have
> the same source but are duplicate copies.
>
> This patch moves all the code in the tests to a parent directory:
> gcc.target/arm/cmse for tests shared by Armv8-M Baseline and Mainline
> and gcc.target/arm/cmse/mainline for tests *only* shared by the various
> float ABI of Armv8-M Mainline. C includes are then used where the code
> used to sit.
>
> Note that the cmse-13.c test used to differ slightly between
> architectures and float ABI tested in the first floating-point constant
> passed to bar: sometimes 1.0 and sometimes 3.0. This patch settles on
> 3.0 to not confuse with the 1.0 constant used to clear VFP registers in
> some of the configurations.
>
> ChangeLog entry is as follows:
>
> *** gcc/testsuite/ChangeLog ***
>
> 2017-11-03  Thomas Preud'homme <thomas.preudhomme@arm.com>
>
>      * gcc.target/arm/cmse/bitfield-4.x: New file.
> * gcc.target/arm/cmse/baseline/bitfield-4.c: Remove code and include
>      above file.
>      * gcc.target/arm/cmse/mainline/bitfield-4.c: Likewise.
>      * gcc.target/arm/cmse/bitfield-5.x: New file.
> * gcc.target/arm/cmse/baseline/bitfield-5.c: Remove code and include
>      above file.
>      * gcc.target/arm/cmse/mainline/bitfield-5.c: Likewise.
>      * gcc.target/arm/cmse/bitfield-6.x: New file.
> * gcc.target/arm/cmse/baseline/bitfield-6.c: Remove code and include
>      above file.
>      * gcc.target/arm/cmse/mainline/bitfield-6.c: Likewise.
>      * gcc.target/arm/cmse/bitfield-7.x: New file.
> * gcc.target/arm/cmse/baseline/bitfield-7.c: Remove code and include
>      above file.
>      * gcc.target/arm/cmse/mainline/bitfield-7.c: Likewise.
>      * gcc.target/arm/cmse/bitfield-8.x: New file.
> * gcc.target/arm/cmse/baseline/bitfield-8.c: Remove code and include
>      above file.
>      * gcc.target/arm/cmse/mainline/bitfield-8.c: Likewise.
>      * gcc.target/arm/cmse/bitfield-9.x: New file.
> * gcc.target/arm/cmse/baseline/bitfield-9.c: Remove code and include
>      above file.
>      * gcc.target/arm/cmse/mainline/bitfield-9.c: Likewise.
>      * gcc.target/arm/cmse/bitfield-and-union.x: New file.
> * gcc.target/arm/cmse/baseline/bitfield-and-union-1.c: Rename into ... > * gcc.target/arm/cmse/baseline/bitfield-and-union.c: This. Remove code
>      and include above bitfield-and-union.x file.
> * gcc.target/arm/cmse/mainline/bitfield-and-union-1.c: Rename into ... > * gcc.target/arm/cmse/mainline/bitfield-and-union.c: this. Remove code
>      and include above bitfield-and-union.x file.
>      * gcc.target/arm/cmse/cmse-13.x: New file.
> * gcc.target/arm/cmse/baseline/cmse-13.c: Remove code and include above
>      file.
>      * gcc.target/arm/cmse/mainline/hard-sp/cmse-13.c: Likewise.
>      * gcc.target/arm/cmse/mainline/hard/cmse-13.c: Likewise.
>      * gcc.target/arm/cmse/mainline/soft/cmse-13.c: Likewise.
>      * gcc.target/arm/cmse/mainline/softfp/cmse-13.c: Likewise.
>      * gcc.target/arm/cmse/cmse-5.x: New file.
>      * gcc.target/arm/cmse/mainline/hard-sp/cmse-5.c: Remove code and
>      include above file.
>      * gcc.target/arm/cmse/mainline/hard/cmse-5.c: Likewise.
>      * gcc.target/arm/cmse/mainline/soft/cmse-5.c: Likewise.
>      * gcc.target/arm/cmse/mainline/softfp-sp/cmse-5.c: Likewise.
>      * gcc.target/arm/cmse/mainline/softfp/cmse-5.c: Likewise.
>      * gcc.target/arm/cmse/cmse-7.x: New file.
>      * gcc.target/arm/cmse/mainline/hard-sp/cmse-7.c: Remove code and
>      include above file.
>      * gcc.target/arm/cmse/mainline/hard/cmse-7.c: Likewise.
>      * gcc.target/arm/cmse/mainline/soft/cmse-7.c: Likewise.
>      * gcc.target/arm/cmse/mainline/softfp-sp/cmse-7.c: Likewise.
>      * gcc.target/arm/cmse/mainline/softfp/cmse-7.c: Likewise.
>      * gcc.target/arm/cmse/cmse-8.x: New file.
>      * gcc.target/arm/cmse/mainline/hard-sp/cmse-8.c: Remove code and
>      include above file.
>      * gcc.target/arm/cmse/mainline/hard/cmse-8.c: Likewise.
>      * gcc.target/arm/cmse/mainline/soft/cmse-8.c: Likewise.
>      * gcc.target/arm/cmse/mainline/softfp-sp/cmse-8.c: Likewise.
>      * gcc.target/arm/cmse/mainline/softfp/cmse-8.c: Likewise.
>      * gcc.target/arm/cmse/union-1.x: New file.
> * gcc.target/arm/cmse/baseline/union-1.c: Remove code and include above
>      file.
>      * gcc.target/arm/cmse/mainline/union-1.c: Likewise.
>      * gcc.target/arm/cmse/union-2.x: New file.
> * gcc.target/arm/cmse/baseline/union-2.c: Remove code and include above
>      file.
>      * gcc.target/arm/cmse/mainline/union-2.c: Likewise.
>
> Testing: Running cmse.exp for both Armv8-M Baseline and Mainline
> shows no regression.
>
> Is this ok for trunk?
>
> Best regards,
>
> Thomasd/cmse-5.c: Likewise.
>      * gcc.target/arm/cmse/mainline/soft/cmse-5.c: Likewise.
>      * gcc.target/arm/cmse/mainline/softfp-sp/cmse-5.c: Likewise.
>      * gcc.target/arm/cmse/mainline/softfp/cmse-5.c: Likewise.
>      * gcc.target/arm/cmse/cmse-7.x: New file.
>      * gcc.target/arm/cmse/mainline/hard-sp/cmse-7.c: Remove code and
>      include above file.
>      * gcc.target/arm/cmse/mainline/hard/cmse-7.c: Likewise.
>      * gcc.target/arm/cmse/mainline/soft/cmse-7.c: Likewise.
>      * gcc.target/arm/cmse/mainline/softfp-sp/cmse-7.c: Likewise.
>      * gcc.target/arm/cmse/mainline/softfp/cmse-7.c: Likewise.
>      * gcc.target/arm/cmse/cmse-8.x: New file.
>      * gcc.target/arm/cmse/mainline/hard-sp/cmse-8.c: Remove code and
>      include above file.
>      * gcc.target/arm/cmse/mainline/hard/cmse-8.c: Likewise.
>      * gcc.target/arm/cmse/mainline/soft/cmse-8.c: Likewise.
>      * gcc.target/arm/cmse/mainline/softfp-sp/cmse-8.c: Likewise.
>      * gcc.target/arm/cmse/mainline/softfp/cmse-8.c: Likewise.
>      * gcc.target/arm/cmse/union-1.x: New file.
> * gcc.target/arm/cmse/baseline/union-1.c: Remove code and include above
>      file.
>      * gcc.target/arm/cmse/mainline/union-1.c: Likewise.
>      * gcc.target/arm/cmse/union-2.x: New file.
> * gcc.target/arm/cmse/baseline/union-2.c: Remove code and include above
>      file.
>      * gcc.target/arm/cmse/mainline/union-2.c: Likewise.
>
> Testing: Running cmse.exp for both Armv8-M Baseline and Mainline
> shows no regression.
>
> Is this ok for trunk?
>
> Best regards,
>
> Thomas


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]