diff options
author | Yang Yujie <yangyujie@loongson.cn> | 2025-08-06 12:01:33 +0200 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2025-08-06 12:01:33 +0200 |
commit | a76a032354ee48c0dcc5ff4842a9b319c3123685 (patch) | |
tree | 478dcd978c54c00d031ac44537266d66d44776c3 /libjava/classpath/lib/java/security | |
parent | a107b01da42b2f2303ffe53df5ea4a796f40597d (diff) | |
download | gcc-a76a032354ee48c0dcc5ff4842a9b319c3123685.zip gcc-a76a032354ee48c0dcc5ff4842a9b319c3123685.tar.gz gcc-a76a032354ee48c0dcc5ff4842a9b319c3123685.tar.bz2 |
bitint: Avoid extending ABI-extended large/huge _BitInts on load
This patch also make casts of ABI-extended large/huge _BitInts
behave the same as the small/middle case, i.e. no-op for casts
to a higher precision _BitInt with the same number of limbs /
extension for casts that turns a full top limb into a partial limb.
This conveniently helps keep some code with implementation-specific
extension semantics (e.g. BEXTC from gcc.dg/bitintext.h) the same
for _BitInts of any precision.
* gimple-lower-bitint.cc (bitint_large_huge::limb_access):
Add a parameter abi_load_p. If set, load a limb directly
in its actual precision without casting from m_limb_type.
(struct bitint_large_huge): Same.
(bitint_large_huge::handle_load): Use.
Diffstat (limited to 'libjava/classpath/lib/java/security')
0 files changed, 0 insertions, 0 deletions