-
- Downloads
RISC-V/testsuite: Add branchless cases for generic integer cond adds
Verify, for generic integer conditional-add operations, if-conversion to trigger via `noce_try_addcc' at the respective sufficiently high `-mbranch-cost=' settings that make branchless code sequences produced by if-conversion cheaper than their original branched equivalents, and, where applicable, that extraneous instructions such as SNEZ, etc. are not present in output. Cover all integer relational operations to make sure no corner case escapes. The reason to XFAIL SImode tests for RV64 targets is the compiler thinks it has to sign-extend addends, which causes if-conversion to give up. gcc/testsuite/ * gcc.target/riscv/adddieq.c: New test. * gcc.target/riscv/adddige.c: New test. * gcc.target/riscv/adddigeu.c: New test. * gcc.target/riscv/adddigt.c: New test. * gcc.target/riscv/adddigtu.c: New test. * gcc.target/riscv/adddile.c: New test. * gcc.target/riscv/adddileu.c: New test. * gcc.target/riscv/adddilt.c: New test. * gcc.target/riscv/adddiltu.c: New test. * gcc.target/riscv/adddine.c: New test. * gcc.target/riscv/addsieq.c: New test. * gcc.target/riscv/addsige.c: New test. * gcc.target/riscv/addsigeu.c: New test. * gcc.target/riscv/addsigt.c: New test. * gcc.target/riscv/addsigtu.c: New test. * gcc.target/riscv/addsile.c: New test. * gcc.target/riscv/addsileu.c: New test. * gcc.target/riscv/addsilt.c: New test. * gcc.target/riscv/addsiltu.c: New test. * gcc.target/riscv/addsine.c: New test.
Showing
- gcc/testsuite/gcc.target/riscv/adddieq.c 27 additions, 0 deletionsgcc/testsuite/gcc.target/riscv/adddieq.c
- gcc/testsuite/gcc.target/riscv/adddige.c 26 additions, 0 deletionsgcc/testsuite/gcc.target/riscv/adddige.c
- gcc/testsuite/gcc.target/riscv/adddigeu.c 26 additions, 0 deletionsgcc/testsuite/gcc.target/riscv/adddigeu.c
- gcc/testsuite/gcc.target/riscv/adddigt.c 26 additions, 0 deletionsgcc/testsuite/gcc.target/riscv/adddigt.c
- gcc/testsuite/gcc.target/riscv/adddigtu.c 26 additions, 0 deletionsgcc/testsuite/gcc.target/riscv/adddigtu.c
- gcc/testsuite/gcc.target/riscv/adddile.c 26 additions, 0 deletionsgcc/testsuite/gcc.target/riscv/adddile.c
- gcc/testsuite/gcc.target/riscv/adddileu.c 26 additions, 0 deletionsgcc/testsuite/gcc.target/riscv/adddileu.c
- gcc/testsuite/gcc.target/riscv/adddilt.c 26 additions, 0 deletionsgcc/testsuite/gcc.target/riscv/adddilt.c
- gcc/testsuite/gcc.target/riscv/adddiltu.c 26 additions, 0 deletionsgcc/testsuite/gcc.target/riscv/adddiltu.c
- gcc/testsuite/gcc.target/riscv/adddine.c 27 additions, 0 deletionsgcc/testsuite/gcc.target/riscv/adddine.c
- gcc/testsuite/gcc.target/riscv/addsieq.c 27 additions, 0 deletionsgcc/testsuite/gcc.target/riscv/addsieq.c
- gcc/testsuite/gcc.target/riscv/addsige.c 26 additions, 0 deletionsgcc/testsuite/gcc.target/riscv/addsige.c
- gcc/testsuite/gcc.target/riscv/addsigeu.c 26 additions, 0 deletionsgcc/testsuite/gcc.target/riscv/addsigeu.c
- gcc/testsuite/gcc.target/riscv/addsigt.c 26 additions, 0 deletionsgcc/testsuite/gcc.target/riscv/addsigt.c
- gcc/testsuite/gcc.target/riscv/addsigtu.c 26 additions, 0 deletionsgcc/testsuite/gcc.target/riscv/addsigtu.c
- gcc/testsuite/gcc.target/riscv/addsile.c 26 additions, 0 deletionsgcc/testsuite/gcc.target/riscv/addsile.c
- gcc/testsuite/gcc.target/riscv/addsileu.c 26 additions, 0 deletionsgcc/testsuite/gcc.target/riscv/addsileu.c
- gcc/testsuite/gcc.target/riscv/addsilt.c 26 additions, 0 deletionsgcc/testsuite/gcc.target/riscv/addsilt.c
- gcc/testsuite/gcc.target/riscv/addsiltu.c 26 additions, 0 deletionsgcc/testsuite/gcc.target/riscv/addsiltu.c
- gcc/testsuite/gcc.target/riscv/addsine.c 27 additions, 0 deletionsgcc/testsuite/gcc.target/riscv/addsine.c
Loading
Please register or sign in to comment