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] |
This patch adds many new tests that are designed to check that LDRD/STRD/LDM/STM instructions are generated as expected for various configurations of gcc with O2/Os for Cortex-A9/A15 and ARM/Thumb. The tests cover merging individual LDR/STR into double or multiple instructions (peepholes), as well as direct generation of these instruction for struct copy (movmemqi). There are 30 functions (*.inc files), checked in 224 different configurations, each of which is a separate test (*.c files). The test are automatically generated by the attached creatests.py script (attached for reference). These tests might be sensitive to changes in register allocation and scheduling. The main reason for including these tests is to provide a partial specification for what is expected to be generated in every configuration. 2011-10-28 Greta Yorsh <Greta.Yorsh@arm.com> * gcc.target/arm/cortexa/load2commute.inc: New file. * gcc.target/arm/cortexa/load2dep.inc: New file. * gcc.target/arm/cortexa/load2.inc: New file. * gcc.target/arm/cortexa/load2nocommute2.inc: New file. * gcc.target/arm/cortexa/load2nocommute.inc: New file. * gcc.target/arm/cortexa/load2-offset4.inc: New file. * gcc.target/arm/cortexa/load2-offset8.inc: New file. * gcc.target/arm/cortexa/load2-offsetminus4.inc: New file. * gcc.target/arm/cortexa/load2t.inc: New file. * gcc.target/arm/cortexa/load3.inc: New file. * gcc.target/arm/cortexa/load3t.inc: New file. * gcc.target/arm/cortexa/load-store.inc: New file. * gcc.target/arm/cortexa/store2const.inc: New file. * gcc.target/arm/cortexa/store2dep.inc: New file. * gcc.target/arm/cortexa/store2.inc: New file. * gcc.target/arm/cortexa/store2-offset4.inc: New file. * gcc.target/arm/cortexa/store2-offset8.inc: New file. * gcc.target/arm/cortexa/store2-offsetminus4.inc: New file. * gcc.target/arm/cortexa/store2t.inc: New file. * gcc.target/arm/cortexa/store2t-offset4.inc: New file. * gcc.target/arm/cortexa/store2t-offsetminus4.inc: New file. * gcc.target/arm/cortexa/store2wback.inc: New file. * gcc.target/arm/cortexa/store2wbackloop.inc: New file. * gcc.target/arm/cortexa/store3.inc: New file. * gcc.target/arm/cortexa/store3-offset4.inc: New file. * gcc.target/arm/cortexa/store3-offset8.inc: New file. * gcc.target/arm/cortexa/struct-copy-0.inc: New file. * gcc.target/arm/cortexa/struct-copy-1.inc: New file. * gcc.target/arm/cortexa/struct-copy-2.inc: New file. * gcc.target/arm/cortexa/struct-copy-3.inc: New file. * gcc.target/arm/cortexa/a15-arm-O2-load2.c: New file. * gcc.target/arm/cortexa/a15-arm-O2-load2commute.c: New file. * gcc.target/arm/cortexa/a15-arm-O2-load2dep.c: New file. * gcc.target/arm/cortexa/a15-arm-O2-load2nocommute2.c: New file. * gcc.target/arm/cortexa/a15-arm-O2-load2nocommute.c: New file. * gcc.target/arm/cortexa/a15-arm-O2-load2-offset4.c: New file. * gcc.target/arm/cortexa/a15-arm-O2-load2-offset8.c: New file. * gcc.target/arm/cortexa/a15-arm-O2-load2-offsetminus4.c: New file. * gcc.target/arm/cortexa/a15-arm-O2-load2t.c: New file. * gcc.target/arm/cortexa/a15-arm-O2-load3.c: New file. * gcc.target/arm/cortexa/a15-arm-O2-load3t.c: New file. * gcc.target/arm/cortexa/a15-arm-O2-load-store.c: New file. * gcc.target/arm/cortexa/a15-arm-O2-store2.c: New file. * gcc.target/arm/cortexa/a15-arm-O2-store2const.c: New file. * gcc.target/arm/cortexa/a15-arm-O2-store2dep.c: New file. * gcc.target/arm/cortexa/a15-arm-O2-store2-offset4.c: New file. * gcc.target/arm/cortexa/a15-arm-O2-store2-offset8.c: New file. * gcc.target/arm/cortexa/a15-arm-O2-store2-offsetminus4.c: New file. * gcc.target/arm/cortexa/a15-arm-O2-store2t.c: New file. * gcc.target/arm/cortexa/a15-arm-O2-store2t-offset4.c: New file. * gcc.target/arm/cortexa/a15-arm-O2-store2t-offsetminus4.c: New file. * gcc.target/arm/cortexa/a15-arm-O2-store2wback.c: New file. * gcc.target/arm/cortexa/a15-arm-O2-store2wbackloop.c: New file. * gcc.target/arm/cortexa/a15-arm-O2-store3.c: New file. * gcc.target/arm/cortexa/a15-arm-O2-store3-offset4.c: New file. * gcc.target/arm/cortexa/a15-arm-O2-store3-offset8.c: New file. * gcc.target/arm/cortexa/a15-arm-O2-struct-copy-0.c: New file. * gcc.target/arm/cortexa/a15-arm-O2-struct-copy-1.c: New file. * gcc.target/arm/cortexa/a15-arm-O2-struct-copy-2.c: New file. * gcc.target/arm/cortexa/a15-arm-O2-struct-copy-3.c: New file. * gcc.target/arm/cortexa/a15-arm-Os-load2.c: New file. * gcc.target/arm/cortexa/a15-arm-Os-load2commute.c: New file. * gcc.target/arm/cortexa/a15-arm-Os-load2dep.c: New file. * gcc.target/arm/cortexa/a15-arm-Os-load2nocommute2.c: New file. * gcc.target/arm/cortexa/a15-arm-Os-load2nocommute.c: New file. * gcc.target/arm/cortexa/a15-arm-Os-load2-offset4.c: New file. * gcc.target/arm/cortexa/a15-arm-Os-load2-offset8.c: New file. * gcc.target/arm/cortexa/a15-arm-Os-load2-offsetminus4.c: New file. * gcc.target/arm/cortexa/a15-arm-Os-load2t.c: New file. * gcc.target/arm/cortexa/a15-arm-Os-load3.c: New file. * gcc.target/arm/cortexa/a15-arm-Os-load-store.c: New file. * gcc.target/arm/cortexa/a15-arm-Os-store2.c: New file. * gcc.target/arm/cortexa/a15-arm-Os-store2const.c: New file. * gcc.target/arm/cortexa/a15-arm-Os-store2-offset4.c: New file. * gcc.target/arm/cortexa/a15-arm-Os-store2-offset8.c: New file. * gcc.target/arm/cortexa/a15-arm-Os-store2-offsetminus4.c: New file. * gcc.target/arm/cortexa/a15-arm-Os-store2t.c: New file. * gcc.target/arm/cortexa/a15-arm-Os-store2t-offset4.c: New file. * gcc.target/arm/cortexa/a15-arm-Os-store2t-offsetminus4.c: New file. * gcc.target/arm/cortexa/a15-arm-Os-store3.c: New file. * gcc.target/arm/cortexa/a15-arm-Os-store3-offset4.c: New file. * gcc.target/arm/cortexa/a15-arm-Os-store3-offset8.c: New file. * gcc.target/arm/cortexa/a15-arm-Os-struct-copy-0.c: New file. * gcc.target/arm/cortexa/a15-arm-Os-struct-copy-1.c: New file. * gcc.target/arm/cortexa/a15-arm-Os-struct-copy-3.c: New file. * gcc.target/arm/cortexa/a15-thumb-O2-load2.c: New file. * gcc.target/arm/cortexa/a15-thumb-O2-load2commute.c: New file. * gcc.target/arm/cortexa/a15-thumb-O2-load2dep.c: New file. * gcc.target/arm/cortexa/a15-thumb-O2-load2nocommute2.c: New file. * gcc.target/arm/cortexa/a15-thumb-O2-load2nocommute.c: New file. * gcc.target/arm/cortexa/a15-thumb-O2-load2-offset4.c: New file. * gcc.target/arm/cortexa/a15-thumb-O2-load2-offset8.c: New file. * gcc.target/arm/cortexa/a15-thumb-O2-load2-offsetminus4.c: New file. * gcc.target/arm/cortexa/a15-thumb-O2-load2t.c: New file. * gcc.target/arm/cortexa/a15-thumb-O2-load3.c: New file. * gcc.target/arm/cortexa/a15-thumb-O2-load3t.c: New file. * gcc.target/arm/cortexa/a15-thumb-O2-load-store.c: New file. * gcc.target/arm/cortexa/a15-thumb-O2-store2.c: New file. * gcc.target/arm/cortexa/a15-thumb-O2-store2const.c: New file. * gcc.target/arm/cortexa/a15-thumb-O2-store2dep.c: New file. * gcc.target/arm/cortexa/a15-thumb-O2-store2-offset4.c: New file. * gcc.target/arm/cortexa/a15-thumb-O2-store2-offset8.c: New file. * gcc.target/arm/cortexa/a15-thumb-O2-store2-offsetminus4.c: New file. * gcc.target/arm/cortexa/a15-thumb-O2-store2t.c: New file. * gcc.target/arm/cortexa/a15-thumb-O2-store2t-offset4.c: New file. * gcc.target/arm/cortexa/a15-thumb-O2-store2t-offsetminus4.c: New file. * gcc.target/arm/cortexa/a15-thumb-O2-store2wback.c: New file. * gcc.target/arm/cortexa/a15-thumb-O2-store2wbackloop.c: New file. * gcc.target/arm/cortexa/a15-thumb-O2-store3.c: New file. * gcc.target/arm/cortexa/a15-thumb-O2-store3-offset4.c: New file. * gcc.target/arm/cortexa/a15-thumb-O2-store3-offset8.c: New file. * gcc.target/arm/cortexa/a15-thumb-O2-struct-copy-0.c: New file. * gcc.target/arm/cortexa/a15-thumb-O2-struct-copy-1.c: New file. * gcc.target/arm/cortexa/a15-thumb-O2-struct-copy-2.c: New file. * gcc.target/arm/cortexa/a15-thumb-O2-struct-copy-3.c: New file. * gcc.target/arm/cortexa/a15-thumb-Os-load2.c: New file. * gcc.target/arm/cortexa/a15-thumb-Os-load2commute.c: New file. * gcc.target/arm/cortexa/a15-thumb-Os-load2dep.c: New file. * gcc.target/arm/cortexa/a15-thumb-Os-load2nocommute2.c: New file. * gcc.target/arm/cortexa/a15-thumb-Os-load2nocommute.c: New file. * gcc.target/arm/cortexa/a15-thumb-Os-load2-offset4.c: New file. * gcc.target/arm/cortexa/a15-thumb-Os-load2-offset8.c: New file. * gcc.target/arm/cortexa/a15-thumb-Os-load2-offsetminus4.c: New file. * gcc.target/arm/cortexa/a15-thumb-Os-load2t.c: New file. * gcc.target/arm/cortexa/a15-thumb-Os-load3.c: New file. * gcc.target/arm/cortexa/a15-thumb-Os-load-store.c: New file. * gcc.target/arm/cortexa/a15-thumb-Os-store2.c: New file. * gcc.target/arm/cortexa/a15-thumb-Os-store2const.c: New file. * gcc.target/arm/cortexa/a15-thumb-Os-store2dep.c: New file. * gcc.target/arm/cortexa/a15-thumb-Os-store2-offset4.c: New file. * gcc.target/arm/cortexa/a15-thumb-Os-store2-offset8.c: New file. * gcc.target/arm/cortexa/a15-thumb-Os-store2-offsetminus4.c: New file. * gcc.target/arm/cortexa/a15-thumb-Os-store2wback.c: New file. * gcc.target/arm/cortexa/a15-thumb-Os-store2wbackloop.c: New file. * gcc.target/arm/cortexa/a15-thumb-Os-store3.c: New file. * gcc.target/arm/cortexa/a15-thumb-Os-store3-offset4.c: New file. * gcc.target/arm/cortexa/a15-thumb-Os-store3-offset8.c: New file. * gcc.target/arm/cortexa/a15-thumb-Os-struct-copy-0.c: New file. * gcc.target/arm/cortexa/a15-thumb-Os-struct-copy-1.c: New file. * gcc.target/arm/cortexa/a9-arm-O2-load2commute.c: New file. * gcc.target/arm/cortexa/a9-arm-O2-load2nocommute2.c: New file. * gcc.target/arm/cortexa/a9-arm-O2-load2nocommute.c: New file. * gcc.target/arm/cortexa/a9-arm-O2-load2t.c: New file. * gcc.target/arm/cortexa/a9-arm-O2-load3.c: New file. * gcc.target/arm/cortexa/a9-arm-O2-load3t.c: New file. * gcc.target/arm/cortexa/a9-arm-O2-store2.c: New file. * gcc.target/arm/cortexa/a9-arm-O2-store2const.c: New file. * gcc.target/arm/cortexa/a9-arm-O2-store2-offset4.c: New file. * gcc.target/arm/cortexa/a9-arm-O2-store2-offset8.c: New file. * gcc.target/arm/cortexa/a9-arm-O2-store2-offsetminus4.c: New file. * gcc.target/arm/cortexa/a9-arm-O2-store2t.c: New file. * gcc.target/arm/cortexa/a9-arm-O2-store2t-offset4.c: New file. * gcc.target/arm/cortexa/a9-arm-O2-store2t-offsetminus4.c: New file. * gcc.target/arm/cortexa/a9-arm-O2-store3.c: New file. * gcc.target/arm/cortexa/a9-arm-O2-store3-offset4.c: New file. * gcc.target/arm/cortexa/a9-arm-O2-store3-offset8.c: New file. * gcc.target/arm/cortexa/a9-arm-Os-load2.c: New file. * gcc.target/arm/cortexa/a9-arm-Os-load2commute.c: New file. * gcc.target/arm/cortexa/a9-arm-Os-load2nocommute2.c: New file. * gcc.target/arm/cortexa/a9-arm-Os-load2nocommute.c: New file. * gcc.target/arm/cortexa/a9-arm-Os-load2-offset4.c: New file. * gcc.target/arm/cortexa/a9-arm-Os-load2-offset8.c: New file. * gcc.target/arm/cortexa/a9-arm-Os-load2-offsetminus4.c: New file. * gcc.target/arm/cortexa/a9-arm-Os-load2t.c: New file. * gcc.target/arm/cortexa/a9-arm-Os-load3.c: New file. * gcc.target/arm/cortexa/a9-arm-Os-store2.c: New file. * gcc.target/arm/cortexa/a9-arm-Os-store2const.c: New file. * gcc.target/arm/cortexa/a9-arm-Os-store2-offset4.c: New file. * gcc.target/arm/cortexa/a9-arm-Os-store2-offset8.c: New file. * gcc.target/arm/cortexa/a9-arm-Os-store2-offsetminus4.c: New file. * gcc.target/arm/cortexa/a9-arm-Os-store2t.c: New file. * gcc.target/arm/cortexa/a9-arm-Os-store2t-offset4.c: New file. * gcc.target/arm/cortexa/a9-arm-Os-store2t-offsetminus4.c: New file. * gcc.target/arm/cortexa/a9-arm-Os-store3.c: New file. * gcc.target/arm/cortexa/a9-arm-Os-store3-offset4.c: New file. * gcc.target/arm/cortexa/a9-arm-Os-store3-offset8.c: New file. * gcc.target/arm/cortexa/a9-arm-Os-struct-copy-0.c: New file. * gcc.target/arm/cortexa/a9-arm-Os-struct-copy-1.c: New file. * gcc.target/arm/cortexa/a9-thumb-O2-load2commute.c: New file. * gcc.target/arm/cortexa/a9-thumb-O2-load2nocommute2.c: New file. * gcc.target/arm/cortexa/a9-thumb-O2-load2nocommute.c: New file. * gcc.target/arm/cortexa/a9-thumb-O2-load2t.c: New file. * gcc.target/arm/cortexa/a9-thumb-O2-load3.c: New file. * gcc.target/arm/cortexa/a9-thumb-O2-load3t.c: New file. * gcc.target/arm/cortexa/a9-thumb-O2-store2.c: New file. * gcc.target/arm/cortexa/a9-thumb-O2-store2const.c: New file. * gcc.target/arm/cortexa/a9-thumb-O2-store2dep.c: New file. * gcc.target/arm/cortexa/a9-thumb-O2-store2-offset4.c: New file. * gcc.target/arm/cortexa/a9-thumb-O2-store2-offset8.c: New file. * gcc.target/arm/cortexa/a9-thumb-O2-store2-offsetminus4.c: New file. * gcc.target/arm/cortexa/a9-thumb-O2-store2t.c: New file. * gcc.target/arm/cortexa/a9-thumb-O2-store2t-offset4.c: New file. * gcc.target/arm/cortexa/a9-thumb-O2-store2t-offsetminus4.c: New file. * gcc.target/arm/cortexa/a9-thumb-O2-store2wback.c: New file. * gcc.target/arm/cortexa/a9-thumb-O2-store2wbackloop.c: New file. * gcc.target/arm/cortexa/a9-thumb-O2-store3.c: New file. * gcc.target/arm/cortexa/a9-thumb-O2-store3-offset4.c: New file. * gcc.target/arm/cortexa/a9-thumb-O2-store3-offset8.c: New file. * gcc.target/arm/cortexa/a9-thumb-Os-load2.c: New file. * gcc.target/arm/cortexa/a9-thumb-Os-load2commute.c: New file. * gcc.target/arm/cortexa/a9-thumb-Os-load2nocommute2.c: New file. * gcc.target/arm/cortexa/a9-thumb-Os-load2nocommute.c: New file. * gcc.target/arm/cortexa/a9-thumb-Os-load2-offset4.c: New file. * gcc.target/arm/cortexa/a9-thumb-Os-load2-offset8.c: New file. * gcc.target/arm/cortexa/a9-thumb-Os-load2-offsetminus4.c: New file. * gcc.target/arm/cortexa/a9-thumb-Os-load2t.c: New file. * gcc.target/arm/cortexa/a9-thumb-Os-load3.c: New file. * gcc.target/arm/cortexa/a9-thumb-Os-store2.c: New file. * gcc.target/arm/cortexa/a9-thumb-Os-store2const.c: New file. * gcc.target/arm/cortexa/a9-thumb-Os-store2dep.c: New file. * gcc.target/arm/cortexa/a9-thumb-Os-store2-offset4.c: New file. * gcc.target/arm/cortexa/a9-thumb-Os-store2-offset8.c: New file. * gcc.target/arm/cortexa/a9-thumb-Os-store2-offsetminus4.c: New file. * gcc.target/arm/cortexa/a9-thumb-Os-store2t.c: New file. * gcc.target/arm/cortexa/a9-thumb-Os-store2t-offset4.c: New file. * gcc.target/arm/cortexa/a9-thumb-Os-store2t-offsetminus4.c: New file. * gcc.target/arm/cortexa/a9-thumb-Os-store2wback.c: New file. * gcc.target/arm/cortexa/a9-thumb-Os-store2wbackloop.c: New file. * gcc.target/arm/cortexa/a9-thumb-Os-store3.c: New file. * gcc.target/arm/cortexa/a9-thumb-Os-store3-offset4.c: New file. * gcc.target/arm/cortexa/a9-thumb-Os-store3-offset8.c: New file. * gcc.target/arm/cortexa/a9-thumb-Os-struct-copy-0.c: New file. * gcc.target/arm/cortexa/a9-thumb-Os-struct-copy-1.c: New file.
Attachment:
6-cortexa-tests.patch
Description: Binary data
Attachment:
creatests.py
Description: Binary data
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |