diff options
author | Jiufu Guo <guojiufu@linux.ibm.com> | 2023-01-10 20:52:33 +0800 |
---|---|---|
committer | guojiufu <guojiufu@linux.ibm.com> | 2023-10-08 10:17:08 +0800 |
commit | 8f1a70a4fbcc6441c70da60d4ef6db1e5635e18a (patch) | |
tree | ec33e6489a2d4026ab4e14116360bd8ad5d4ca47 /gcc/tree-ssa-structalias.cc | |
parent | 6e5f627492ff547e3c2fc7782c232e77402ead62 (diff) | |
download | gcc-8f1a70a4fbcc6441c70da60d4ef6db1e5635e18a.zip gcc-8f1a70a4fbcc6441c70da60d4ef6db1e5635e18a.tar.gz gcc-8f1a70a4fbcc6441c70da60d4ef6db1e5635e18a.tar.bz2 |
rs6000: build constant via li/lis;rldicl/rldicr
If a constant is possible left/right cleaned on a rotated value from
a negative value of "li/lis". Then, using "li/lis ; rldicl/rldicr"
to build the constant.
gcc/ChangeLog:
* config/rs6000/rs6000.cc (can_be_built_by_li_lis_and_rldicl): New
function.
(can_be_built_by_li_lis_and_rldicr): New function.
(rs6000_emit_set_long_const): Call can_be_built_by_li_lis_and_rldicr and
can_be_built_by_li_lis_and_rldicl.
gcc/testsuite/ChangeLog:
* gcc.target/powerpc/const-build.c: Add more tests.
Diffstat (limited to 'gcc/tree-ssa-structalias.cc')
0 files changed, 0 insertions, 0 deletions