This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
[PATCH 2/4] [Powerpc] tune/optimize memmove/wordcopy. Remove switchstatement.
- From: Will Schmidt <will_schmidt at vnet dot ibm dot com>
- To: libc-alpha at sourceware dot org
- Cc: willschm at us dot ibm dot com
- Date: Tue, 03 Apr 2012 13:08:04 -0500
- Subject: [PATCH 2/4] [Powerpc] tune/optimize memmove/wordcopy. Remove switchstatement.
- References: <20120403180700.5689.57731.stgit@brimstone>
[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);
}