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 cdd2981..e31c4db 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,14 @@ 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 bwd_align_merge macros. (_wordcopy_fwd_dest_aligned): Use fwd_align_merge macro calls. diff --git a/sysdeps/powerpc/powerpc32/power6/wordcopy.c b/sysdeps/powerpc/powerpc32/power6/wordcopy.c index d0df56f..698b82f 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 b18b97f..4c72404 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); } -- 2.7.4