src/hotspot/cpu/ppc/c1_LIRAssembler_ppc.cpp
changeset 49906 4bb58f644e4e
parent 49480 d7df2dd501ce
child 50102 454fa295105c
--- a/src/hotspot/cpu/ppc/c1_LIRAssembler_ppc.cpp	Thu Apr 26 12:48:35 2018 -0700
+++ b/src/hotspot/cpu/ppc/c1_LIRAssembler_ppc.cpp	Thu Apr 26 20:42:43 2018 +0200
@@ -2978,7 +2978,9 @@
 
 
 void LIR_Assembler::atomic_op(LIR_Code code, LIR_Opr src, LIR_Opr data, LIR_Opr dest, LIR_Opr tmp) {
-  const Register Rptr = src->as_pointer_register(),
+  const LIR_Address *addr = src->as_address_ptr();
+  assert(addr->disp() == 0 && addr->index()->is_illegal(), "use leal!");
+  const Register Rptr = addr->base()->as_pointer_register(),
                  Rtmp = tmp->as_register();
   Register Rco = noreg;
   if (UseCompressedOops && data->is_oop()) {