diff options
author | Pat Haugen <pthaugen@linux.ibm.com> | 2023-03-23 14:08:00 -0500 |
---|---|---|
committer | Pat Haugen <pthaugen@linux.ibm.com> | 2023-03-23 14:08:00 -0500 |
commit | f58cbbb7c90d8cfea87dc4490b575a368e1e2c82 (patch) | |
tree | 86f180c1449a40adf1a978716c5702bbf027adbd /gcc/go | |
parent | 80ed2a6471a39dd95192a334789fd63d5efd2e8a (diff) | |
download | gcc-f58cbbb7c90d8cfea87dc4490b575a368e1e2c82.zip gcc-f58cbbb7c90d8cfea87dc4490b575a368e1e2c82.tar.gz gcc-f58cbbb7c90d8cfea87dc4490b575a368e1e2c82.tar.bz2 |
Don't force target of modulo into a distinct register.
The define_insns for the modulo operation currently force the target register
to a distinct reg in preparation for a possible future peephole combining
div/mod. But this can lead to cases of a needless copy being inserted. Fixed
with the following patch.
gcc/
* config/rs6000/rs6000.md (*mod<mode>3, umod<mode>3): Add
non-earlyclobber alternative.
gcc/testsuite/
* gcc.target/powerpc/mod-no_copy.c: New.
* gcc.target/powerpc/mod-peephole.c: New.
Diffstat (limited to 'gcc/go')
0 files changed, 0 insertions, 0 deletions