]> gcc.gnu.org Git - gcc.git/commit
RISC-V/testsuite: Add branchless cases for FP cond-move operations
authorMaciej W. Rozycki <macro@embecosm.com>
Wed, 22 Nov 2023 01:18:25 +0000 (01:18 +0000)
committerJeff Law <jlaw@ventanamicro.com>
Wed, 22 Nov 2023 05:05:12 +0000 (22:05 -0700)
commit5f4d45f2f33496f8f829f7f233f12e822511111f
tree01fbe6a471214547b3a1cdf68bd7f4b91124c9b7
parentba5f0fe3867e19ceaade0c623f2aa4ca43c4fa95
RISC-V/testsuite: Add branchless cases for FP cond-move operations

Verify, for short forward branch, T-Head, Ventana and Zicond targets and
the ordered floating-point conditional-move operations that already work
as expected, that if-conversion triggers via `noce_try_cmove' at the
respective sufficiently high `-mbranch-cost=' settings that make
branchless code sequences produced by if-conversion cheaper than their
original branched equivalents, and that extraneous instructions such as
SNEZ, etc. are not present in output.  Cover all ordered floating-point
relational operations to make sure no corner case escapes.

gcc/testsuite/
* gcc.target/riscv/movdifge-sfb.c: New test.
* gcc.target/riscv/movdifge-thead.c: New test.
* gcc.target/riscv/movdifge-ventana.c: New test.
* gcc.target/riscv/movdifge-zicond.c: New test.
* gcc.target/riscv/movdifgt-sfb.c: New test.
* gcc.target/riscv/movdifgt-thead.c: New test.
* gcc.target/riscv/movdifgt-ventana.c: New test.
* gcc.target/riscv/movdifgt-zicond.c: New test.
* gcc.target/riscv/movdifle-sfb.c: New test.
* gcc.target/riscv/movdifle-thead.c: New test.
* gcc.target/riscv/movdifle-ventana.c: New test.
* gcc.target/riscv/movdifle-zicond.c: New test.
* gcc.target/riscv/movdiflt-sfb.c: New test.
* gcc.target/riscv/movdiflt-thead.c: New test.
* gcc.target/riscv/movdiflt-ventana.c: New test.
* gcc.target/riscv/movdiflt-zicond.c: New test.
* gcc.target/riscv/movdifne-sfb.c: New test.
* gcc.target/riscv/movdifne-thead.c: New test.
* gcc.target/riscv/movdifne-ventana.c: New test.
* gcc.target/riscv/movdifne-zicond.c: New test.
* gcc.target/riscv/movsifge-sfb.c: New test.
* gcc.target/riscv/movsifge-thead.c: New test.
* gcc.target/riscv/movsifge-ventana.c: New test.
* gcc.target/riscv/movsifge-zicond.c: New test.
* gcc.target/riscv/movsifgt-sfb.c: New test.
* gcc.target/riscv/movsifgt-thead.c: New test.
* gcc.target/riscv/movsifgt-ventana.c: New test.
* gcc.target/riscv/movsifgt-zicond.c: New test.
* gcc.target/riscv/movsifle-sfb.c: New test.
* gcc.target/riscv/movsifle-thead.c: New test.
* gcc.target/riscv/movsifle-ventana.c: New test.
* gcc.target/riscv/movsifle-zicond.c: New test.
* gcc.target/riscv/movsiflt-sfb.c: New test.
* gcc.target/riscv/movsiflt-thead.c: New test.
* gcc.target/riscv/movsiflt-ventana.c: New test.
* gcc.target/riscv/movsiflt-zicond.c: New test.
* gcc.target/riscv/movsifne-sfb.c: New test.
* gcc.target/riscv/movsifne-thead.c: New test.
* gcc.target/riscv/movsifne-ventana.c: New test.
* gcc.target/riscv/movsifne-zicond.c: New test.

(cherry picked from commit 814485b2564a453ce9c0731344282f18e12ed0b5)
40 files changed:
gcc/testsuite/gcc.target/riscv/movdifge-sfb.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/movdifge-thead.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/movdifge-ventana.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/movdifge-zicond.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/movdifgt-sfb.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/movdifgt-thead.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/movdifgt-ventana.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/movdifgt-zicond.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/movdifle-sfb.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/movdifle-thead.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/movdifle-ventana.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/movdifle-zicond.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/movdiflt-sfb.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/movdiflt-thead.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/movdiflt-ventana.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/movdiflt-zicond.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/movdifne-sfb.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/movdifne-thead.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/movdifne-ventana.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/movdifne-zicond.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/movsifge-sfb.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/movsifge-thead.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/movsifge-ventana.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/movsifge-zicond.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/movsifgt-sfb.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/movsifgt-thead.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/movsifgt-ventana.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/movsifgt-zicond.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/movsifle-sfb.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/movsifle-thead.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/movsifle-ventana.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/movsifle-zicond.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/movsiflt-sfb.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/movsiflt-thead.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/movsiflt-ventana.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/movsiflt-zicond.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/movsifne-sfb.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/movsifne-thead.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/movsifne-ventana.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/movsifne-zicond.c [new file with mode: 0644]
This page took 0.07053 seconds and 6 git commands to generate.