From 313932af0acb0ab23089a2b3bd34e1613874fa8b Mon Sep 17 00:00:00 2001 From: Tobias Hartmann Date: Thu, 3 Feb 2022 06:20:49 +0000 Subject: [PATCH] 8279225: [arm32] C1 longs comparison operation destroys argument registers Backport-of: 299022dfacbcb49e3bc5beca8ff9b1fca1101493 --- src/hotspot/cpu/arm/c1_LIRAssembler_arm.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/hotspot/cpu/arm/c1_LIRAssembler_arm.cpp b/src/hotspot/cpu/arm/c1_LIRAssembler_arm.cpp index 95fab38a584..920e6c87c4f 100644 --- a/src/hotspot/cpu/arm/c1_LIRAssembler_arm.cpp +++ b/src/hotspot/cpu/arm/c1_LIRAssembler_arm.cpp @@ -1820,8 +1820,8 @@ void LIR_Assembler::comp_op(LIR_Condition condition, LIR_Opr opr1, LIR_Opr opr2, __ teq(xhi, yhi); __ teq(xlo, ylo, eq); } else { - __ subs(xlo, xlo, ylo); - __ sbcs(xhi, xhi, yhi); + __ subs(Rtemp, xlo, ylo); + __ sbcs(Rtemp, xhi, yhi); } } else { ShouldNotReachHere();