This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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 # 


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]