From ac8fa81c1e7790bd36d96c7472a227d5581d52b5 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Tue, 21 May 2002 02:17:33 +0000 Subject: [PATCH] When second argument pointer is unaligned, do not forget to fully initialize %g1 magic value. --- sysdeps/sparc/sparc64/strncmp.S | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/sysdeps/sparc/sparc64/strncmp.S b/sysdeps/sparc/sparc64/strncmp.S index 3bc21d66646..31fcfeee081 100644 --- a/sysdeps/sparc/sparc64/strncmp.S +++ b/sysdeps/sparc/sparc64/strncmp.S @@ -290,14 +290,15 @@ ENTRY(strncmp) ldxa [%o0] ASI_PNF, %g4 /* Load */ 11: sllx %g3, 3, %g5 /* IEU0 Group */ mov 64, %g7 /* IEU1 */ - sub %o1, %g3, %o1 /* IEU0 Group */ + or %g1, %g2, %g1 /* IEU0 Group */ + sub %o1, %g3, %o1 /* IEU1 */ - sub %g7, %g5, %g7 /* IEU1 */ + sub %g7, %g5, %g7 /* IEU0 Group */ ldxa [%o1] ASI_PNF, %o4 /* Load */ - sllx %g1, 7, %g2 /* IEU0 Group */ - add %o1, 8, %o1 /* IEU1 */ + sllx %g1, 7, %g2 /* IEU1 */ + add %o1, 8, %o1 /* IEU0 Group */ /* %g1 = 0101010101010101 - %g2 = 8080808080800880 + %g2 = 8080808080808080 %g3 = %o1 alignment %g5 = number of bits to shift left %g7 = number of bits to shift right */ -- 2.47.2