# HG changeset patch # User lucy # Date 1512144583 -3600 # Node ID c722887b75a2c14f509145effd603129a1bf936c # Parent d5610f86423f8c32af3c2444eb0d0e57f75a909c 8192818: [s390]: restoring register contents calculates wrong value Reviewed-by: goetz, mdoerr diff -r d5610f86423f -r c722887b75a2 src/hotspot/cpu/s390/macroAssembler_s390.cpp --- a/src/hotspot/cpu/s390/macroAssembler_s390.cpp Fri Dec 01 17:03:07 2017 +0100 +++ b/src/hotspot/cpu/s390/macroAssembler_s390.cpp Fri Dec 01 17:09:43 2017 +0100 @@ -5041,6 +5041,7 @@ z_bru(VectorDone); bind(VectorBreak); + add2reg(Rsrc, -min_vcnt*2); // Fix Rsrc. Rsrc was already updated, but Rdst and Rix are not. z_sll(Rix, log_min_vcnt); // # chars processed so far in VectorLoop, excl. current iteration. z_sr(Z_R0, Rix); // correct # chars processed in total.