From: Will Schmidt Date: Wed, 18 Apr 2012 20:34:23 +0000 (-0500) Subject: Further simplify power6 wordcopy by removing switch statements. X-Git-Tag: glibc-2.16-tps~596 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=6b652f46c3935088082bb5870b6fd9edbaa92125;p=thirdparty%2Fglibc.git Further simplify power6 wordcopy by removing switch statements. This fix replaces switch statements that contain individual [fwd|bwd]_align_merge () calls with a single [fwd|bwd]_align_merge (align) call. --- diff --git a/ChangeLog b/ChangeLog index cdd29819f31..e31c4dbe248 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2012-04-18 Will Schmidt + + * sysdeps/powerpc/powerpc64/power6/wordcopy.c + (_wordcopy_fwd_dest_aligned): Replace switch with a parameterized + fwd_align_merge macro call. + (_wordcopy_bwd_dest_aligned): Replace switch with a parameterized + bwd_align_merge macro call. + * sysdeps/powerpc/powerpc32/power6/wordcopy.c: Likewise. + 2012-04-18 Will Schmidt * sysdeps/powerpc/powerpc64/power6/wordcopy.c: Add fwd_align_merge and diff --git a/sysdeps/powerpc/powerpc32/power6/wordcopy.c b/sysdeps/powerpc/powerpc32/power6/wordcopy.c index d0df56f22c9..698b82f4fbd 100644 --- a/sysdeps/powerpc/powerpc32/power6/wordcopy.c +++ b/sysdeps/powerpc/powerpc32/power6/wordcopy.c @@ -115,18 +115,7 @@ _wordcopy_fwd_dest_aligned (dstp, srcp, len) len -= 1; } - switch (align) - { - case 1: - fwd_align_merge (1); - break; - case 2: - fwd_align_merge (2); - break; - case 3: - fwd_align_merge (3); - break; - } + fwd_align_merge (align); } @@ -224,16 +213,5 @@ _wordcopy_bwd_dest_aligned (dstp, srcp, len) len -= 1; } - switch (align) - { - case 1: - bwd_align_merge (1); - break; - case 2: - bwd_align_merge (2); - break; - case 3: - bwd_align_merge (3); - break; - } + bwd_align_merge (align); } diff --git a/sysdeps/powerpc/powerpc64/power6/wordcopy.c b/sysdeps/powerpc/powerpc64/power6/wordcopy.c index b18b97faab5..4c72404e3d8 100644 --- a/sysdeps/powerpc/powerpc64/power6/wordcopy.c +++ b/sysdeps/powerpc/powerpc64/power6/wordcopy.c @@ -115,30 +115,7 @@ _wordcopy_fwd_dest_aligned (dstp, srcp, len) len -= 1; } - switch (align) - { - case 1: - fwd_align_merge (1); - break; - case 2: - fwd_align_merge (2); - break; - case 3: - fwd_align_merge (3); - break; - case 4: - fwd_align_merge (4); - break; - case 5: - fwd_align_merge (5); - break; - case 6: - fwd_align_merge (6); - break; - case 7: - fwd_align_merge (7); - break; - } + fwd_align_merge (align); } @@ -236,28 +213,5 @@ _wordcopy_bwd_dest_aligned (dstp, srcp, len) len -= 1; } - switch (align) - { - case 1: - bwd_align_merge (1); - break; - case 2: - bwd_align_merge (2); - break; - case 3: - bwd_align_merge (3); - break; - case 4: - bwd_align_merge (4); - break; - case 5: - bwd_align_merge (5); - break; - case 6: - bwd_align_merge (6); - break; - case 7: - bwd_align_merge (7); - break; - } + bwd_align_merge (align); }