This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH 2/4] [Powerpc] tune/optimize memmove/wordcopy. Remove switchstatement.


[Powerpc] tune/optimize memmove/wordcopy. Remove switch statement.

With the merge helper macros in place, accepting the alignment value
directly, we no longer need the alignment switch statement, so remove it.

2012-03-19  Will Schmidt <will_schmidt@vnet.ibm.com>

	* sysdeps/powerpc/powerpc64/power6/wordcopy.c: Remove switch statement.
	* sysdeps/powerpc/powerpc32/power6/wordcopy.c: Likewise.
---
 sysdeps/powerpc/powerpc32/power6/wordcopy.c |   26 +-------------
 sysdeps/powerpc/powerpc64/power6/wordcopy.c |   50 +--------------------------
 2 files changed, 4 insertions(+), 72 deletions(-)

diff --git a/sysdeps/powerpc/powerpc32/power6/wordcopy.c b/sysdeps/powerpc/powerpc32/power6/wordcopy.c
index 9748268..af35e98 100644
--- a/sysdeps/powerpc/powerpc32/power6/wordcopy.c
+++ b/sysdeps/powerpc/powerpc32/power6/wordcopy.c
@@ -116,18 +116,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)
 
 }
 
@@ -225,16 +214,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 1ff9c92..f4b80dd 100644
--- a/sysdeps/powerpc/powerpc64/power6/wordcopy.c
+++ b/sysdeps/powerpc/powerpc64/power6/wordcopy.c
@@ -116,30 +116,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)
 
 }
 
@@ -237,28 +214,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)
 }


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]