diff options
author | Jiufu Guo <guojiufu@linux.ibm.com> | 2023-06-15 21:11:53 +0800 |
---|---|---|
committer | guojiufu <guojiufu@linux.ibm.com> | 2023-10-08 10:17:08 +0800 |
commit | 6e5f627492ff547e3c2fc7782c232e77402ead62 (patch) | |
tree | 32651487a974a9a9305c2f60854c8140c667ce8f /gcc/gcov-io.cc | |
parent | 25b91754ed459c295bd3979fbbce4f1010483e5d (diff) | |
download | gcc-6e5f627492ff547e3c2fc7782c232e77402ead62.zip gcc-6e5f627492ff547e3c2fc7782c232e77402ead62.tar.gz gcc-6e5f627492ff547e3c2fc7782c232e77402ead62.tar.bz2 |
rs6000: build constant via lis;rotldi
If a constant is possible to be rotated to/from a negative value from
"lis", then using "lis;rotldi" to build the constant.
The positive value of "lis" does not need to be analyzed. Because if a
constant can be rotated from the positive value of "lis", it also can be
rotated from a positive value of "li".
gcc/ChangeLog:
* config/rs6000/rs6000.cc (can_be_rotated_to_negative_lis): New
function.
(can_be_built_by_li_and_rotldi): Rename to ...
(can_be_built_by_li_lis_and_rotldi): ... this function.
(rs6000_emit_set_long_const): Call can_be_built_by_li_lis_and_rotldi.
gcc/testsuite/ChangeLog:
* gcc.target/powerpc/const-build.c: Add more tests.
Diffstat (limited to 'gcc/gcov-io.cc')
0 files changed, 0 insertions, 0 deletions