aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-ssa-loop-im.cc
diff options
context:
space:
mode:
authorJiufu Guo <guojiufu@linux.ibm.com>2023-06-15 21:11:53 +0800
committerguojiufu <guojiufu@linux.ibm.com>2023-10-08 10:17:08 +0800
commit6e5f627492ff547e3c2fc7782c232e77402ead62 (patch)
tree32651487a974a9a9305c2f60854c8140c667ce8f /gcc/tree-ssa-loop-im.cc
parent25b91754ed459c295bd3979fbbce4f1010483e5d (diff)
downloadgcc-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/tree-ssa-loop-im.cc')
0 files changed, 0 insertions, 0 deletions