summaryrefslogtreecommitdiff
path: root/Makefile.in
diff options
context:
space:
mode:
authorJiufu Guo <guojiufu@linux.ibm.com>2022-12-10 21:18:51 +0800
committerJiufu Guo <guojiufu@linux.ibm.com>2023-05-17 10:13:18 +0800
commit5eb7d560626e427673c53723ed430c4bb5721f33 (patch)
tree5c1d1369352412bce5cdfbbb3f327c461bd3ca65 /Makefile.in
parent0d5660575199a1a948f09a0b479c43e6bd398479 (diff)
downloadgcc-5eb7d560626e427673c53723ed430c4bb5721f33.tar.gz
rs6000: use lis;xoris to build constant
For constant C: If '(c & 0xFFFFFFFF0000FFFFULL) == 0xFFFFFFFF00000000' or say: 32(1) || 1(0) || 15(x) || 16(0), we could use "lis; xoris" to build. Here N(M) means N continuous bit M, x for M means it is ok for either 1 or 0; '||' means concatenation. This patch update rs6000_emit_set_long_const to support those constants. Compare with previous version: https://gcc.gnu.org/pipermail/gcc-patches/2022-December/608292.html This patch updates test function names only. Bootstrap and regtest pass on ppc64{,le}. PR target/106708 gcc/ChangeLog: * config/rs6000/rs6000.cc (rs6000_emit_set_long_const): Support building constants through "lis; xoris". gcc/testsuite/ChangeLog: * gcc.target/powerpc/pr106708.c: Add test function.
Diffstat (limited to 'Makefile.in')
0 files changed, 0 insertions, 0 deletions