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