This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Fix v850 ___ucmpdi2() function
- From: Nick Clifton <nickc at redhat dot com>
- To: gcc-patches at gcc dot gnu dot org
- Date: Wed, 28 Sep 2005 10:40:11 +0100
- Subject: Fix v850 ___ucmpdi2() function
Hi Guys,
I am checking in the patch below to fix the ___ucmpdi2() function
for the v850 port. There was a mistake in the hand written
assembler which meant that if the top words of the two values were
the same then the function would always return 1, regardless of the
values of the low words.
Cheers
Nick
gcc/ChangeLog
2005-09-28 Nick Clifton <nickc@redhat.com>
* config/v850/lib1funcs.asm (___ucmpdi2): Correct jump instruction
for when the high words are identical.
Index: gcc/config/v850/lib1funcs.asm
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/v850/lib1funcs.asm,v
retrieving revision 1.20
diff -c -3 -p -r1.20 lib1funcs.asm
*** gcc/config/v850/lib1funcs.asm 26 Aug 2005 13:45:41 -0000 1.20
--- gcc/config/v850/lib1funcs.asm 28 Sep 2005 09:28:06 -0000
*************** ___cmpdi2:
*** 2248,2254 ****
.type ___ucmpdi2,@function
___ucmpdi2:
cmp r9, r7 # Check if each high word are same.
! be .L_ucmpdi_check_psw
cmp r8, r6 # Compare the word.
.L_ucmpdi_check_psw:
setf nl, r10 #
--- 2248,2254 ----
.type ___ucmpdi2,@function
___ucmpdi2:
cmp r9, r7 # Check if each high word are same.
! bne .L_ucmpdi_check_psw
cmp r8, r6 # Compare the word.
.L_ucmpdi_check_psw:
setf nl, r10 #