diff options
author | Heiko Carstens <heiko.carstens@de.ibm.com> | 2009-09-11 10:28:32 +0200 |
---|---|---|
committer | Martin Schwidefsky <schwidefsky@de.ibm.com> | 2009-09-11 10:29:43 +0200 |
commit | 04efc3be767cfed0d348fd598eba8fe5f5bf5fe6 (patch) | |
tree | 53a6509f836e2f85c34e5a3af66fa9fbff910f77 /arch/s390/kernel/entry.h | |
parent | 05e7ff7da78bad3edc1290ed86b4a37da72ced62 (diff) |
[S390] convert/optimize csum_fold() to C
In the meantime gcc generates better code than the old inline
assemblies do. Original inline assembly results in:
lr %r1,%r2
sr %r3,%r3
lr %r2,%r1
srdl %r2,16
alr %r2,%r3
alr %r1,%r2
srl %r1,16
xilf %r1,65535
llghr %r2,%r1
br %r14
Out of the C code gcc generates this:
rll %r1,%r2,16
ar %r1,%r2
srl %r1,16
xilf %r1,65535
llghr %r2,%r1
br %r14
In addition we don't have any static register allocations anymore and
gcc is free to shuffle instructions around for better pipeline usage.
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'arch/s390/kernel/entry.h')
0 files changed, 0 insertions, 0 deletions