diff options
author | Jeff Law <jlaw@ventanamicro.com> | 2025-06-07 07:48:46 -0600 |
---|---|---|
committer | Jeff Law <jlaw@ventanamicro.com> | 2025-06-07 07:48:46 -0600 |
commit | 59a3da733a79f621700dd9ddc11a0efc07237c3a (patch) | |
tree | f133cc2a92371060caa3db625bb8bf2ee2d537fe /libgfortran/generated | |
parent | 50ca15baa73a5687ff0d0207dc9313b3ae1d6e5c (diff) | |
download | gcc-59a3da733a79f621700dd9ddc11a0efc07237c3a.zip gcc-59a3da733a79f621700dd9ddc11a0efc07237c3a.tar.gz gcc-59a3da733a79f621700dd9ddc11a0efc07237c3a.tar.bz2 |
[to-be-committed][RISC-V] Handle 32bit operands in condition for conditional moves
So here's the next chunk of conditional move work from Shreya.
It's been a long standing wart that the conditional move expander does not
support sub-word operands in the comparison. Particularly since we have
support routines to handle the necessary extensions for that case.
This patch adjusts the expander to use riscv_extend_comparands rather than fail
for that case. I've built spec2017 before/after this and we definitely get
more conditional moves and they look sensible from a performance standpoint.
None are likely hitting terribly hot code, so I wouldn't expect any performance
jumps.
Waiting on pre-commit testing to do its thing.
* config/riscv/riscv.cc (riscv_expand_conditional_move): Use
riscv_extend_comparands to extend sub-word comparison arguments.
Co-authored-by: Jeff Law <jlaw@ventanamicro.com>
Diffstat (limited to 'libgfortran/generated')
0 files changed, 0 insertions, 0 deletions