23 lines
912 B
Diff
23 lines
912 B
Diff
|
|
Subject: 8300800: UB: Shift exponent 32 is too large for 32-bit type 'int'
|
||
|
|
|
||
|
|
---
|
||
|
|
src/hotspot/cpu/aarch64/immediate_aarch64.cpp | 2 +-
|
||
|
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||
|
|
|
||
|
|
diff --git a/src/hotspot/cpu/aarch64/immediate_aarch64.cpp b/src/hotspot/cpu/aarch64/immediate_aarch64.cpp
|
||
|
|
index 3d87fde2b..961f93ed7 100644
|
||
|
|
--- a/src/hotspot/cpu/aarch64/immediate_aarch64.cpp
|
||
|
|
+++ b/src/hotspot/cpu/aarch64/immediate_aarch64.cpp
|
||
|
|
@@ -295,7 +295,7 @@ int expandLogicalImmediate(uint32_t immN, uint32_t immr,
|
||
|
|
uint64_t and_bits_sub = replicate(and_bit, 1, nbits);
|
||
|
|
uint64_t or_bits_sub = replicate(or_bit, 1, nbits);
|
||
|
|
uint64_t and_bits_top = (and_bits_sub << nbits) | ones(nbits);
|
||
|
|
- uint64_t or_bits_top = (0 << nbits) | or_bits_sub;
|
||
|
|
+ uint64_t or_bits_top = (UCONST64(0) << nbits) | or_bits_sub;
|
||
|
|
|
||
|
|
tmask = ((tmask
|
||
|
|
& (replicate(and_bits_top, 2 * nbits, 32 / nbits)))
|
||
|
|
--
|
||
|
|
2.33.0
|
||
|
|
|