aboutsummaryrefslogtreecommitdiff
path: root/libjava/java/util/concurrent/TimeUnit$4.h
diff options
context:
space:
mode:
authorkelefth <konstantinos.eleftheriou@vrull.eu>2025-03-13 11:49:39 +0100
committerPhilipp Tomsich <philipp.tomsich@vrull.eu>2025-04-18 10:42:00 +0200
commit7e628ff49f7f890d5337369d7b4f8e21a1f17029 (patch)
treedb319a5c5c1e78ab256af31b386701b89ab20745 /libjava/java/util/concurrent/TimeUnit$4.h
parent19af15ba7ad041b58b7926775cce81be9f5ec013 (diff)
downloadgcc-7e628ff49f7f890d5337369d7b4f8e21a1f17029.zip
gcc-7e628ff49f7f890d5337369d7b4f8e21a1f17029.tar.gz
gcc-7e628ff49f7f890d5337369d7b4f8e21a1f17029.tar.bz2
avoid-store-forwarding: Fix reg init on load-elimination [PR119160]
In the case that we are eliminating the load instruction, we use zero_extend for the initialization of the base register for the zero-offset store. This causes issues when the store and the load use the same mode, as we are trying to generate a zero_extend with the same inner and outer modes. This patch fixes the issue by zero-extending the value stored in the base register only when the load's mode is wider than the store's mode. PR rtl-optimization/119160 gcc/ChangeLog: * avoid-store-forwarding.cc (process_store_forwarding): Zero-extend the value stored in the base register, in case of load-elimination, only when the mode of the destination is wider. gcc/testsuite/ChangeLog: * gcc.dg/pr119160.c: New test.
Diffstat (limited to 'libjava/java/util/concurrent/TimeUnit$4.h')
0 files changed, 0 insertions, 0 deletions