Some small speedups.
This commit is contained in:
		
							parent
							
								
									23c3a85872
								
							
						
					
					
						commit
						e47e6f0e30
					
				|  | @ -1,4 +1,4 @@ | |||
| Sun Jul  7 01:23:45 2002  J"orn Rennecke <joern.rennecke@superh.com> | ||||
| Mon Jul  8 13:55:23 2002  J"orn Rennecke <joern.rennecke@superh.com> | ||||
| 
 | ||||
| 	* libc/machine/sh/Makefile.am (lib_a_SOURCES): | ||||
| 	Make strcmp.S unconditional. | ||||
|  |  | |||
|  | @ -55,14 +55,16 @@ ENTRY(strcmp) | |||
| 	pt	loop,tr1 | ||||
| 	bnei/u	r8,0,tr0 // r23_zero | ||||
| 	pt	found_zero,tr0 | ||||
| 	ori	r3,7,r3 | ||||
| 	addi	r3,9,r3 | ||||
| 	addi	r3,15,r3 | ||||
| 	andi	r3,-8,r3 | ||||
| 	sub	r3,r2,r3 | ||||
| 	bne/l	r7,r6,tr1 // loop | ||||
| 	/* The strings are aligned to each other.  */ | ||||
| 	/* It is possible to have a loop with six cycles / iteration | ||||
| 	   by re-ordering the exit conditions, but then it needs extra | ||||
| 	   time and/or code to sort out the r4 != r5 case.  */ | ||||
| 	pt	al_loop,tr1 | ||||
| 	pt	al_found_zero,tr0 | ||||
| 	addi	r3,-8,r3 | ||||
| al_loop: | ||||
| 	ld.q	r2,8,r4 | ||||
| 	ldx.q	r2,r3,r5 | ||||
|  | @ -103,8 +105,8 @@ cmp_quad: | |||
| 	blink tr2,r63 | ||||
| found_zero: | ||||
| 	pt	zero_now,tr0 | ||||
| 	mcmpeq.b r63,r5,r7 | ||||
| 	pt	cmp_quad,tr1 | ||||
| 	SHHI	r9,r20,r7 | ||||
| 	bne/u	r8,r7,tr0 // zero_now | ||||
| 	bne/u	r4,r5,tr1 // cmp_quad | ||||
| 	SHLO	r9,r22,r8 | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue