diff options
author | Christoph Müllner <christoph.muellner@vrull.eu> | 2024-05-01 16:54:42 +0200 |
---|---|---|
committer | Christoph Müllner <christoph.muellner@vrull.eu> | 2024-05-15 13:01:45 +0200 |
commit | 00029408387e9cc64e135324c22d15cd5a70e946 (patch) | |
tree | 3226c8a9414aca5d60eddf0248ac3120818e6771 /gcc/cp/parser.cc | |
parent | c400b2100719d0a9e5989c63e0827b9e98919df3 (diff) | |
download | gcc-00029408387e9cc64e135324c22d15cd5a70e946.zip gcc-00029408387e9cc64e135324c22d15cd5a70e946.tar.gz gcc-00029408387e9cc64e135324c22d15cd5a70e946.tar.bz2 |
RISC-V: Add test cases for cpymem expansion
We have two mechanisms in the RISC-V backend that expand
cpymem pattern: a) by-pieces, b) riscv_expand_block_move()
in riscv-string.cc. The by-pieces framework has higher priority
and emits a sequence of up to 15 instructions
(see use_by_pieces_infrastructure_p() for more details).
As a rule-of-thumb, by-pieces emits alternating load/store sequences
and the setmem expansion in the backend emits a sequence of loads
followed by a sequence of stores.
Let's add some test cases to document the current behaviour
and to have tests to identify regressions.
Signed-off-by: Christoph Müllner <christoph.muellner@vrull.eu>
gcc/testsuite/ChangeLog:
* gcc.target/riscv/cpymem-32-ooo.c: New test.
* gcc.target/riscv/cpymem-32.c: New test.
* gcc.target/riscv/cpymem-64-ooo.c: New test.
* gcc.target/riscv/cpymem-64.c: New test.
Diffstat (limited to 'gcc/cp/parser.cc')
0 files changed, 0 insertions, 0 deletions