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-04-03  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 33858e2..4c71c53 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 bbe55ee..e25cb2c 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]