linux_dsm_epyc7002/arch/s390
Heiko Carstens 04efc3be76 [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>
2009-09-11 10:29:43 +02:00
..
appldata [S390] pm: appldata power management callbacks 2009-06-16 10:31:15 +02:00
boot [PATCH] use ${CROSS_COMPILE}installkernel in arch/*/boot/install.sh 2005-06-23 09:45:07 -07:00
crypto Merge branch 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6 2009-03-26 16:04:22 -07:00
hypfs [S390] fix hypfs build failure 2009-03-31 19:17:03 +02:00
include/asm [S390] convert/optimize csum_fold() to C 2009-09-11 10:29:43 +02:00
kernel [S390] introduce get_clock_monotonic 2009-09-11 10:29:42 +02:00
kvm Merge branch 'kvm-updates/2.6.31' of git://git.kernel.org/pub/scm/virt/kvm/kvm 2009-08-09 14:58:21 -07:00
lib [S390] add __ucmpdi2() helper function 2009-07-07 16:37:53 +02:00
math-emu [S390] remove -traditional 2008-04-30 13:38:44 +02:00
mm headers: smp_lock.h redux 2009-07-12 12:22:34 -07:00
oprofile Combine instrumentation menus in kernel/Kconfig.instrumentation 2007-10-19 11:53:54 -07:00
power [S390] hibernation: fix register corruption on machine checks 2009-07-24 12:41:00 +02:00
defconfig [S390] Update default configuration. 2009-06-22 12:08:25 +02:00
Kconfig [S390] define KTIME_SCALAR for 32-bit s390 2009-07-07 16:37:54 +02:00
Kconfig.debug generic debug pagealloc: build fix 2009-04-02 19:04:48 -07:00
Makefile [S390] s390: hibernation support for s390 2009-06-16 10:31:22 +02:00