diff options
| author | Lulu Cheng <chenglulu@loongson.cn> | 2025-10-29 17:55:14 +0800 |
|---|---|---|
| committer | Lulu Cheng <chenglulu@loongson.cn> | 2025-11-07 09:21:41 +0800 |
| commit | f6bca888663cc8d451b0f01ea459454b2ebc4c81 (patch) | |
| tree | e359cd78d16d46e8e1678fa389f55f82a89095c6 /libjava/java/security/Engine.java | |
| parent | cbd06e9f66c2d40ff4af7fa648878eaf32928c18 (diff) | |
| download | gcc-f6bca888663cc8d451b0f01ea459454b2ebc4c81.zip gcc-f6bca888663cc8d451b0f01ea459454b2ebc4c81.tar.gz gcc-f6bca888663cc8d451b0f01ea459454b2ebc4c81.tar.bz2 | |
LoongArch: Redundant sign extension instruction optimization.
When the mode of the destination operand selected by the condition
is SImode, explicit sign extension is applied to both selected
source operands, and the destination operand is marked as
sign-extended.
This method can eliminate some of the sign extension instructions
caused by conditional selection optimization.
gcc/ChangeLog:
* config/loongarch/loongarch.cc
(loongarch_sign_extend_if_subreg_prom_p): Determine if the
current operand is SUBREG and if the source of SUBREG is
the sign-extended value.
(loongarch_expand_conditional_move): Optimize.
gcc/testsuite/ChangeLog:
* gcc.target/loongarch/sign-extend-4.c: New test.
* gcc.target/loongarch/sign-extend-5.c: New test.
Diffstat (limited to 'libjava/java/security/Engine.java')
0 files changed, 0 insertions, 0 deletions
