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

Kyrill Tkachov kyrylo.tkachov@foss.arm.com
Fri Nov 10 17:11:00 GMT 2017


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



More information about the Gcc-patches mailing list