From 6b652f46c3935088082bb5870b6fd9edbaa92125 Mon Sep 17 00:00:00 2001 From: Will Schmidt Date: Wed, 18 Apr 2012 15:34:23 -0500 Subject: [PATCH] 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. --- ChangeLog | 9 ++++ sysdeps/powerpc/powerpc32/power6/wordcopy.c | 26 +---------- sysdeps/powerpc/powerpc64/power6/wordcopy.c | 50 +-------------------- 3 files changed, 13 insertions(+), 72 deletions(-) diff --git a/ChangeLog b/ChangeLog index cdd29819f3..e31c4dbe24 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 d0df56f22c..698b82f4fb 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 b18b97faab..4c72404e3d 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); }