Browse Source

tigcclib + sorts testcase: remove a useless test+branch pair in qsort() (-4 bytes).

git-svn-id: file:///var/svn/tigccpp/trunk@1359 9552661e-59e3-4036-b4f2-dbe53926924f
debrouxl 14 years ago
parent
commit
ba6bc94f26
2 changed files with 7 additions and 8 deletions
  1. 4 4
      tigcc/archive/qsort.c
  2. 3 4
      tigcc/testcases/sorts.c

+ 4 - 4
tigcc/archive/qsort.c

@@ -33,7 +33,7 @@ qsort:
 .L4:
 	mulu.w %d7,%d0	;# size, num_items
 	move.w %d0,%a6	;# num_items, num_items.61
-	bra.s .L5	;#
+
 .L6:
 	move.w %d5,%d6	;# k, i
 	mulu.w %d7,%d6	;# size, i
@@ -77,14 +77,14 @@ qsort:
 .L7:
 	cmp.w %a6,%d6	;# num_items.61, i
 	bcs.s .L8	;#
+
 	lsr.w #1,%d5	;#, tmp59
 	move.w %d5,%d0	;# k, tmp60
 	lsr.w #3,%d0	;#, tmp60
 	sub.w %d0,%d5	;# tmp60, k
-.L5:
-	tst.w %d5	;# k
 	bne.s .L6	;#
-	movm.l (%sp)+,%d3-%d7/%a2-%a4/%a6
+
+	movem.l (%sp)+,%d3-%d7/%a2-%a4/%a6
 	rts
 ");
 

+ 3 - 4
tigcc/testcases/sorts.c

@@ -152,7 +152,7 @@ ciura_qsort:
 4:
 	mulu.w %d7,%d0	;# size, num_items
 	move.w %d0,%a6	;# num_items, num_items.61
-	bra.s 5f	;#
+
 6:
 	move.w %d5,%d6	;# k, i
 	mulu.w %d7,%d6	;# size, i
@@ -201,10 +201,9 @@ ciura_qsort:
 	move.w .Lstep(%pc, %d5.w),%d0
 	swap %d5
 	move.w %d0,%d5
-5:
-	tst.w %d5	;# k
 	bne.s 6b	;#
-	movm.l (%sp)+,%d3-%d7/%a2-%a4/%a6
+
+	movem.l (%sp)+,%d3-%d7/%a2-%a4/%a6
 	rts
 	.even
 .Lstep: