On Fri, 12 May 2023 21:51:59 GMT, Kim Barrett <kbarr...@openjdk.org> wrote:

>> src/hotspot/cpu/ppc/c1_LIRGenerator_ppc.cpp line 426:
>> 
>>> 424:   // Missing test if instr is commutative and if we should swap.
>>> 425:   if (right.value()->type()->as_LongConstant() &&
>>> 426:       (x->op() == Bytecodes::_lsub && 
>>> right.value()->type()->as_LongConstant()->value() == -32768 ) ) {
>> 
>> I would prefer a shifted value here as it's usually more readable. If the 
>> compiler is being stubborn in its warnings, a comment explaining the magic 
>> value would be fine too.
>
> What is the warning here?  Note that we've already turned off 
> `-Wshift-negative-value` for gcc and xlc
> (but not for clang, for some reason).  See `# Disabled warnings` in 
> CompileJvm.gmk.

I think disabling the warning is fine. Alternatively, we could `#define 
MIN_INT16 -32768` somewhere or introduce `const int16_t min_int16 = (int16_t)1 
<< (sizeof(int16_t)*BitsPerByte-1);`. What do you prefer, Kim?

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/13953#discussion_r1193762594

Reply via email to